[Bug] Nine of 24 slide types never pass through an export test #615
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck#615
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found in the pre-publication test review.
Evidence:
test/export_service_test.dart:377-409uses onlySlideType.titleandSlideType.bullets.test/slide_rasterizer_test.darttouches six types. Across all export tests together (marp-html, chart, package, rasterizer, export_service) nine of the 24 types are absent entirely:section, twoBullets, twoImages, code, cockpit, question, timeline, finding, signOff.For contrast,
test/markdown_round_trip_test.dart:2242does iteratefor (final type in SlideType.values)— the project can do this; for export it simply has not been done.Why this matters now: export is what the user takes out of OciDeck. A
timelineorfindingthat rasterises as an empty page is a first-order user-facing fault and no gate sees it, so the bug report arrives from outside instead of from the suite. This review already found exactly that failure mode for a Scorecard slide (separate issue) — an empty slide that passed the quality gate and exported blank. When adding a slide type the compiler names six places; export is not among them.Proposal: one test that runs
for (final type in SlideType.values), exports a one-slide deck per type, and asserts per type that the PDF contains more than an empty page — for example that a unique text fragment from the fixture appears in the extracted PDF text, as:285already does forTLP:AMBER.Opgelost in PR #686, op main.
De test loopt uitputtend over
SlideType.valuesen toetst per type dat er werkelijk iets getekend is. In de rasterizer en niet in de exportservice: die krijgt al gerenderde PNG's aangereikt, terwijl de rasterizer de enige weg naar PDF en PPTX is. Daar moet "lege pagina bij de ontvanger" zich laten vangen.Vandaag rastert elk type iets — dit is 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". Zonder die stap wist ik niet of de assertie scherp genoeg was.
De fixture is gedeeld.
markdown_round_trip_test.dartliep als enige al uitputtend over het enum, met een eigen_metInhoud(type). Die staat nu intest/slide_fixtures.darten wordt door beide gebruikt — één lijst, want twee lijsten lopen uiteen, en dan dekt de ene een type dat de andere overslaat. Dat is precies de vorm van deze bug.