test(export): laat elk slidetype door de rasterizer, niet negen eromheen (#615) #686

Merged
brenno merged 1 commit from test/export-alle-slidetypes-615 into main 2026-07-22 20:42:03 +00:00
Owner

Sluit #615.

Negen van de 24 types kwamen door géén enkele exporttest. De test loopt nu uitputtend over SlideType.values en toetst per type dat er werkelijk iets getekend is — meer dan één kleur in het beeld.

Waarom in de rasterizer en niet in de exportservice. Die service krijgt al gerenderde PNG's aangereikt; de rasterizer is de enige weg naar PDF en PPTX. Daar moet "lege pagina bij de ontvanger" zich laten vangen, niet een laag hoger.

Vandaag rastert elk type iets — dit is bewaking, geen reparatie. Maar wel eerst rood laten worden: met een vers aangemaakte scorecard-dia, precies het geval uit #583, valt hij om met "een scorecard-dia rastert als een egale vlakte — dat is een lege pagina in de PDF en de PPTX". Zonder die stap zou ik niet weten of _distinctColours > 1 scherp genoeg is.

De fixture is gedeeld. markdown_round_trip_test.dart liep als enige al uitputtend over het enum en had daarvoor een _metInhoud(type)-helper. Die staat nu in test/slide_fixtures.dart en wordt door beide gebruikt. Eén lijst, want twee lijsten lopen uiteen — en dan dekt de ene een type dat de andere stilzwijgend overslaat, en dat is precies de vorm van deze bug.

Poort

make check groen (niet door tail gepijpt).

Sluit #615. Negen van de 24 types kwamen door géén enkele exporttest. De test loopt nu uitputtend over `SlideType.values` en toetst per type dat er werkelijk iets getekend is — meer dan één kleur in het beeld. **Waarom in de rasterizer en niet in de exportservice.** Die service krijgt al gerenderde PNG's aangereikt; de rasterizer is de enige weg naar PDF en PPTX. Daar moet "lege pagina bij de ontvanger" zich laten vangen, niet een laag hoger. **Vandaag rastert elk type iets** — dit is bewaking, geen reparatie. Maar wel eerst rood laten worden: met een vers aangemaakte scorecard-dia, precies het geval uit #583, valt hij om met *"een scorecard-dia rastert als een egale vlakte — dat is een lege pagina in de PDF en de PPTX"*. Zonder die stap zou ik niet weten of `_distinctColours > 1` scherp genoeg is. **De fixture is gedeeld.** `markdown_round_trip_test.dart` liep als enige al uitputtend over het enum en had daarvoor een `_metInhoud(type)`-helper. Die staat nu in `test/slide_fixtures.dart` en wordt door beide gebruikt. Eén lijst, want twee lijsten lopen uiteen — en dan dekt de ene een type dat de andere stilzwijgend overslaat, en dat is precies de vorm van deze bug. ## Poort `make check` groen (niet door `tail` gepijpt).
test(export): laat elk slidetype door de rasterizer, niet negen eromheen (#615)
Some checks failed
CI / Gate (Linux) · Format · Analyze · Coverage (pull_request) Failing after 24s
CI / Docs links (pull_request) Failing after 24s
CI / Web hardening (pull_request) Failing after 26s
CI / Gate (Linux) · Format · Analyze · Coverage (push) Failing after 23s
CI / Supply-chain (Trivy · advisory) (pull_request) Failing after 27s
CI / Web hardening (push) Failing after 20s
CI / Docs links (push) Failing after 22s
CI / Supply-chain (Trivy · advisory) (push) Failing after 25s
CI / Test (macos-latest) (pull_request) Has been cancelled
CI / Test (windows-latest) (pull_request) Has been cancelled
CI / Test (macos-latest) (push) Has been cancelled
CI / Test (windows-latest) (push) Has been cancelled
1adfb3fc19
Negen van de 24 types — section, twoBullets, twoImages, code, cockpit,
question, timeline, finding, signOff — kwamen door géén enkele exporttest.
Export is wat de gebruiker uit OciDeck meeneemt, dus een type dat als lege
pagina rastert is een fout die hij als eerste ziet in plaats van de suite.

De test loopt uitputtend over `SlideType.values` en toetst per type dat er
werkelijk iets getekend is: meer dan één kleur in het beeld. De rasterizer
is de enige weg naar PDF en PPTX, dus dit is de plek waar "lege pagina bij
de ontvanger" zich moet laten vangen — niet in de exportservice, die
al gerenderde PNG's aangereikt krijgt.

Vandaag rastert elk type iets; de test is de bewaking, geen reparatie. Wel
eerst rood laten worden: met een vers aangemaakte scorecard-dia — precies
het geval uit #583 — valt hij om met "rastert als een egale vlakte".

De fixture komt uit `markdown_round_trip_test.dart`, dat als enige al
uitputtend over het enum liep. Die staat nu in `test/slide_fixtures.dart`,
gedeeld door beide. Eén lijst, want twee lijsten lopen uiteen — en dan
dekt de ene een type dat de andere stilzwijgend overslaat, wat precies de
vorm van deze bug is.

Sluit #615.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
brenno merged commit 3aed187b16 into main 2026-07-22 20:42:03 +00:00
Sign in to join this conversation.
No description provided.