From 7571a04e58b020010df1bb9e257034b34b68bfe1 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Mon, 13 Jul 2026 10:17:28 +0200 Subject: [PATCH] Add unit tests for Project 7 one-shot overrides in Ableton playback --- tests/ableton-playback.test.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 tests/ableton-playback.test.ts 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); +});