Add comprehensive test coverage for Ableton automation, fader policies, and pad sound export logic

This commit is contained in:
2026-07-14 11:27:57 +02:00
parent 4cda706b69
commit d582adb3fc
3 changed files with 117 additions and 0 deletions

View File

@@ -86,3 +86,38 @@ test('uses absolute automation targets for Session clip envelopes', () => {
assert.equal(envelopes[0].Automation.Events.FloatEvent[2]['@Time'], 1);
assert.deepEqual(envelopes[0].LoopSlot, { Value: {} });
});
test('does not create Session envelopes without recorded parameter events', () => {
const withoutPan = {
...occurrence,
faderAutomation: occurrence.faderAutomation.filter(
(point) => point.parameter !== FaderParam.PAN,
),
};
const envelopes = buildClipEnvelopes(
withoutPan,
{ [FaderParam.PAN]: [{ session: 23000 }] },
track,
false,
);
assert.deepEqual(envelopes, []);
});
test('keeps research-only group parameters out of Live target envelopes', () => {
const researchOccurrence = {
...occurrence,
faderAutomation: [
{ parameter: FaderParam.TIM, position: 0, value: 0.25, flags: 0 },
{ parameter: FaderParam.ATK, position: 0, value: 0.5, flags: 0 },
{ parameter: FaderParam.REL, position: 0, value: 0.75, flags: 0 },
],
};
const targets = {
[FaderParam.TIM]: [{ session: 23000 }],
[FaderParam.ATK]: [{ session: 23001 }],
[FaderParam.REL]: [{ session: 23002 }],
};
assert.deepEqual(buildClipEnvelopes(researchOccurrence, targets, track, false), []);
});