Soloing & Measures
ci / checks (push) Successful in 1h16m41s

This commit is contained in:
khodowany
2026-10-01 14:05:51 -05:00
parent a7b64c5361
commit 28fc67fba1
21 changed files with 1231 additions and 168 deletions
+7
View File
@@ -33,6 +33,13 @@ def notes(document, measure=0):
return document['staves'][0]['measures'][measure]['voices'][0]['notes']
class MusicXMLTests(unittest.TestCase):
def test_export_keeps_arrangement_measure_number_in_an_excerpt(self):
source = parse(xml_score(xml_note()))
source['staves'][0]['measures'][0]['number'] = '105'
root = generator.musicxml_writer.musicxml_tree(source).getroot()
self.assertEqual(root.find('part/measure').get('number'), '105')
restored = parse(xml.etree.ElementTree.tostring(root, encoding='unicode'))
self.assertEqual(restored['staves'][0]['measures'][0]['number'], '105')
def test_obsolete_style_hints_are_rejected(self):
for value in ('Medium Swing', 'Med.', 'Bossa Nova', 'Unrecognized style', ''):
with self.subTest(value=value), self.assertRaisesRegex(generator.musicxml.MusicXMLError, "fixture.xml: unsupported Vamp property 'vamp:style'"):