diff --git a/tests/ableton-playback.test.ts b/tests/ableton-playback.test.ts new file mode 100644 index 0000000..b17bfd8 --- /dev/null +++ b/tests/ableton-playback.test.ts @@ -0,0 +1,19 @@ +import assert from 'node:assert/strict'; +import test from 'node:test'; +import { hasOneShotOverride } from '../src/lib/exporters/ableton/playback'; +import { PadCode } from '../src/types/types'; + +const project7Overrides = ['b0', 'c1', 'c8', 'c9', 'd3'] as PadCode[]; + +test('applies the selective Project 7 One-Shot overrides', () => { + for (const padCode of project7Overrides) { + assert.equal(hasOneShotOverride(padCode, project7Overrides), true); + } + + assert.equal(hasOneShotOverride('b3', project7Overrides), false); + assert.equal(hasOneShotOverride('b7', project7Overrides), false); +}); + +test('preserves project playback modes when no override is selected', () => { + assert.equal(hasOneShotOverride('b0'), false); +});