@@ -198,15 +198,17 @@ class EngravingCacheTests(unittest.TestCase):
|
||||
with unittest.mock.patch('generator.engraving.raster.rasterize_page', side_effect=AssertionError('cache miss')):
|
||||
generator.engraving.pipeline.engrave_tree(warm, self.fonts, cache_dir=self.cache)
|
||||
self.assertEqual(self.files(cold), self.files(warm))
|
||||
def test_playback_is_not_restored_from_page_cache(self):
|
||||
self.seed_cache()
|
||||
changed = copy.deepcopy(self.document)
|
||||
changed['playback'] = {'new-playback': 'independent of page rendering'}
|
||||
def test_invalid_cached_page_timing_is_rebuilt(self):
|
||||
entry = self.seed_cache()
|
||||
manifest = entry / 'pages.json'
|
||||
pages = json.loads(manifest.read_text())
|
||||
pages[0]['measure_count'] += 1
|
||||
manifest.write_text(json.dumps(pages))
|
||||
root = self.root / 'warm'
|
||||
self.write_scores(root, [changed])
|
||||
with unittest.mock.patch('generator.engraving.layout.layout_systems', side_effect=AssertionError('cache miss')):
|
||||
generator.engraving.pipeline.engrave_tree(root, self.fonts, cache_dir=self.cache)
|
||||
self.assertEqual(json.loads((root / '000.json').read_text())['playback'], changed['playback'])
|
||||
self.write_scores(root, [self.document])
|
||||
generator.engraving.pipeline.engrave_tree(root, self.fonts, cache_dir=self.cache)
|
||||
bundle = json.loads((root / '000.json').read_text())
|
||||
self.assertEqual(bundle['presentation']['pages'][0]['measure_count'], 1)
|
||||
def test_changed_music_and_renderer_invalidate_pages(self):
|
||||
self.seed_cache()
|
||||
changed = tests.test_musicxml.parse(tests.test_musicxml.xml_score(tests.test_musicxml.xml_note('D')).replace('Fixture', 'Changed'))
|
||||
|
||||
Reference in New Issue
Block a user