mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-12 23:05:05 +00:00
pattern::tests::kept_tiles_count_the_images_they_could_not_decode draws a pattern whose art is an image three times and expects one tile to be rasterized. A tile of art with an image is kept only while FontDb::global().generation() is the one it was drawn at (Deps::current in pattern.rs). The render tests that hold adding_fonts() add fonts, which increases it (tests/fontchange.rs, tests/typeedges.rs, tests/alternate.rs, tests/colrglyphs.rs and tests/bitmapglyphs.rs). When one of them added a font between the frames, the next frame drew the tile again and the test failed with left 2 or 3, right 1. Run with the tests in tests/fontchange.rs and tests/typeedges.rs, it failed in 23 of 30 runs on main. The test now holds fonts_steady() and takes its counts from with_fonts_unchanged(), as the other render tests that count kept work do. Each run builds a new document, so its first frame does not find a tile from an earlier run. Run with the same tests, it passed in all 30 runs.