Update test suite to include pattern 'c' in project data and scene arrangements

This commit is contained in:
2026-07-14 10:21:22 +02:00
parent 73935b1b46
commit 262a1c74ec

View File

@@ -102,13 +102,15 @@ function project(): ProjectRawData {
pads: {
a: [pad('a', 0), pad('a', 1)],
b: [pad('b', 0)],
c: [],
c: [pad('c', 0)],
d: [],
},
groupPatterns: [
pattern('a', 1, 2, 0, 60),
pattern('b', 2, 1, 0, 36),
pattern('a', 3, 1, 1, 64),
pattern('c', 3, 1, 0, 67),
pattern('b', 1, 1, 0, 38),
],
scenes: [
scene(1, { a: 1, b: 2, c: 0, d: 0 }, 3, 4),
@@ -156,7 +158,9 @@ test('combines genuine Session scenes, orphan patterns and the repeated Song Arr
[
['01', 'scene', ['a', 'b', 'c', 'd']],
['02', 'scene', ['a', 'b', 'c', 'd']],
['B PATTERN 01', 'pattern', ['b']],
['A PATTERN 03', 'pattern', ['a']],
['C PATTERN 03', 'pattern', ['c']],
],
);
assert.deepEqual(
@@ -176,6 +180,7 @@ test('combines genuine Session scenes, orphan patterns and the repeated Song Arr
const a0 = result.tracks.find((track) => track.padCode === 'a0');
const a1 = result.tracks.find((track) => track.padCode === 'a1');
const b0 = result.tracks.find((track) => track.padCode === 'b0');
const c0 = result.tracks.find((track) => track.padCode === 'c0');
assert.deepEqual(
a0?.lane?.sessionClips.map((clip) => clip.sceneIndex),
@@ -191,17 +196,22 @@ test('combines genuine Session scenes, orphan patterns and the repeated Song Arr
);
assert.deepEqual(
a1?.lane?.sessionClips.map((clip) => clip.sceneIndex),
[2],
[3],
);
assert.deepEqual(a1?.lane?.arrangementClips, []);
assert.deepEqual(
b0?.lane?.sessionClips.map((clip) => clip.sceneIndex),
[0],
[0, 2],
);
assert.deepEqual(
b0?.lane?.arrangementClips.map((clip) => [clip.occurrenceIndex, clip.offset]),
[[1, 4]],
);
assert.deepEqual(
c0?.lane?.sessionClips.map((clip) => clip.sceneIndex),
[4],
);
assert.deepEqual(c0?.lane?.arrangementClips, []);
});
test('keeps Session material and leaves Arrangement empty when no Song is present', () => {