test: update seq.note fixtures letter= -> letters=; assert multi-ref form

This commit is contained in:
c0dev0id
2026-07-11 14:22:31 +02:00
parent 7ffa0a9d2d
commit d79599ede1

View File

@@ -561,8 +561,8 @@ const DYN_MOTIF = `00 bar '001P1L1M1'
03 line.stem_note pitch=0 03 line.stem_note pitch=0
04 stem_note.chain _tmp_string='oo' 04 stem_note.chain _tmp_string='oo'
05 chain.clause 0 repeat=1 05 chain.clause 0 repeat=1
06 seq.note letter='o' shift=0 length=1 netlength=1 06 seq.note letters='o' shift=0 length=1 netlength=1
06 seq.note letter='o' shift=12 netlength=1 length=1 06 seq.note letters='o' shift=12 netlength=1 length=1
`; `;
const dynBar = buildModel(parseAstLog(DYN_MOTIF)).bars[0]; const dynBar = buildModel(parseAstLog(DYN_MOTIF)).bars[0];
const dynVoice = dynBar.voices['pi']; const dynVoice = dynBar.voices['pi'];
@@ -580,7 +580,7 @@ const STAT_MOTIF = `00 bar '001P1L1M1'
03 line.stem_note pitch='C4' 03 line.stem_note pitch='C4'
04 stem_note.chain _tmp_string='o' 04 stem_note.chain _tmp_string='o'
05 chain.clause 0 05 chain.clause 0
06 seq.note letter='o' shift=0 length=1 netlength=1 06 seq.note letters='o' shift=0 length=1 netlength=1
`; `;
const statVoice = buildModel(parseAstLog(STAT_MOTIF)).bars[0].voices['pi']; const statVoice = buildModel(parseAstLog(STAT_MOTIF)).bars[0].voices['pi'];
ok('static motif isStatic=true', statVoice.motifs[0].isStatic === true); ok('static motif isStatic=true', statVoice.motifs[0].isStatic === true);
@@ -593,12 +593,12 @@ const PS_FIXTURE = `00 bar '001P1L1M1'
03 line.stem_note pitch='C4' 03 line.stem_note pitch='C4'
04 stem_note.chain _tmp_string='o.oe' 04 stem_note.chain _tmp_string='o.oe'
05 chain.clause 0 05 chain.clause 0
06 seq.note letter='o' shift=0 length=1 netlength=1 06 seq.note letters='o' shift=0 length=1 netlength=1
06 seq.pause length=1 06 seq.pause length=1
05 chain.clause 1 05 chain.clause 1
06 seq.stack length=2 netlength=2 06 seq.stack length=2 netlength=2
07 stack.note letter='o' shift=0 07 stack.note letters='o' shift=0
07 stack.note letter='e' shift=0 07 stack.note letters='e' shift=0
`; `;
const psVoice = buildModel(parseAstLog(PS_FIXTURE)).bars[0].voices['pi']; const psVoice = buildModel(parseAstLog(PS_FIXTURE)).bars[0].voices['pi'];
const psSn = psVoice.offsets[0].stemNotes[0]; const psSn = psVoice.offsets[0].stemNotes[0];
@@ -614,11 +614,11 @@ const NC_FIXTURE = `00 bar '001P1L1M1'
03 line.stem_note pitch='C4' 03 line.stem_note pitch='C4'
04 stem_note.chain _tmp_string='o(...)' 04 stem_note.chain _tmp_string='o(...)'
05 chain.clause 0 05 chain.clause 0
06 seq.note letter='o' shift=0 length=1 netlength=1 06 seq.note letters='o' shift=0 length=1 netlength=1
06 seq.chain length=2 06 seq.chain length=2
07 chain.clause 0 07 chain.clause 0
08 seq.stack length=1 netlength=1 08 seq.stack length=1 netlength=1
09 stack.note letter='o' shift=0 09 stack.note letters='o' shift=0
`; `;
const ncSn = buildModel(parseAstLog(NC_FIXTURE)).bars[0].voices['pi'].offsets[0].stemNotes[0]; const ncSn = buildModel(parseAstLog(NC_FIXTURE)).bars[0].voices['pi'].offsets[0].stemNotes[0];
ok('nested chain: only 1 top-level clause', ncSn.clauses.length === 1); ok('nested chain: only 1 top-level clause', ncSn.clauses.length === 1);
@@ -651,7 +651,7 @@ const LM_FIXTURE = `00 bar '001P1L1M1'
03 line.stem_note pitch='C4' 03 line.stem_note pitch='C4'
04 stem_note.chain _tmp_string='o' 04 stem_note.chain _tmp_string='o'
05 chain.clause 0 05 chain.clause 0
06 seq.note letter='o' shift=0 length=1 netlength=1 06 seq.note letters='o' shift=0 length=1 netlength=1
03 line.motif 'coct' 03 line.motif 'coct'
03 line.motif 'oct' chord='C2' 03 line.motif 'oct' chord='C2'
`; `;
@@ -671,8 +671,8 @@ const WT_FIXTURE = `00 bar '001P1L1M1'
04 stem_note.write_to 'coct' 04 stem_note.write_to 'coct'
04 stem_note.chain _tmp_string='o=o+3*4' 04 stem_note.chain _tmp_string='o=o+3*4'
05 chain.clause 0 repeat=3 05 chain.clause 0 repeat=3
06 seq.note letter='o' shift=0 netlength=1 length=1 06 seq.note letters='o' shift=0 netlength=1 length=1
06 seq.note letter='o' shift=3 netlength=1 length=1 06 seq.note letters='o:f' shift=3 netlength=1 length=1
`; `;
const wtSn = buildModel(parseAstLog(WT_FIXTURE)).bars[0].voices['pi'].offsets[0].stemNotes[0]; const wtSn = buildModel(parseAstLog(WT_FIXTURE)).bars[0].voices['pi'].offsets[0].stemNotes[0];
ok('write_to: writeToName', wtSn.writeToName === 'coct'); ok('write_to: writeToName', wtSn.writeToName === 'coct');
@@ -680,6 +680,8 @@ ok('write_to: chainText from _tmp_string', wtSn.chainText === 'o=o+3*4');
ok('write_to: clause parsed', wtSn.clauses.length === 1); ok('write_to: clause parsed', wtSn.clauses.length === 1);
ok('write_to: clause repeat', wtSn.clauses[0].repeat === 3); ok('write_to: clause repeat', wtSn.clauses[0].repeat === 3);
ok('write_to: clause notes', wtSn.clauses[0].notes.length === 2); ok('write_to: clause notes', wtSn.clauses[0].notes.length === 2);
ok('seq.note has letters field (not letter)', wtSn.clauses[0].notes[0].letters === 'o');
ok('seq.note letters with article ref', wtSn.clauses[0].notes[1].letters === 'o:f');
section('adjacent prop on stem_note'); section('adjacent prop on stem_note');
const ADJ_FIXTURE = `00 bar '001P1L1M1' const ADJ_FIXTURE = `00 bar '001P1L1M1'