test(pdf): de tabelmelding wordt door de hele keten bewaakt (#1789) #1939

Merged
brenno merged 1 commit from test/pdf-tabelmelding-doorgifte-v2 into main 2026-09-03 09:42:23 +00:00
Owner

Wat dit is

Naloop op #1797 (issue #1789, inmiddels gesloten). Die PR liet de export melden dat een tabel ook op de kleinste letter niet op het blad past. De melding kreeg twee toetsen mee: de renderer telt de tabellen (pdf_table_column_widths_test) en de tekst van de melding klopt (document_export_pdf_support_test).

De schakel ertussen niet. Dat de teller vanuit buildDocumentExportBytes ook werkelijk de schil bereikt, is alleen bewaakt met een greep in de brontekst van document_editor_screen.dart:

expect(source, contains('onPdfTablesTooWide:'));
expect(source, contains('warnAboutTablesTooWide('));

Waarom dat een gat is

Die greep ziet niets. Met de doorgifte in document_export_service.dart uitgezet:

  • test/pdf/158 tests, allemaal groen, want de zoektermen staan nog gewoon in het bewerkscherm.

Een gebruiker zou in die toestand zijn hash stil doorgehakt krijgen, precies het defect dat #1789 beschrijft. De zuster-terugroep onPdfUnsupportedCharacters heeft die gedragstoets wél (document_export_write_test.dart), dus dit is een gat en geen huisconventie.

Wat erin zit

Eén gedragstoets langs de hele keten, naar het voorbeeld van die zuster: een tabel met 64 plus 128 hexadecimale tekens door buildDocumentExportBytes, met de verwachting dat de teller op 1 uitkomt. Plus de negatieve kant aan de bestaande callback-toets: gewone tekst meldt niets.

Rood geproefd tegen de uitgezette doorgifte, op deze basis:

Expected: [1]
  Actual: []

Toetsing

  • make check groen
  • Bewaker expliciet overgeslagen: dit raakt geen bestandsformaat, opslag, afhankelijkheid, uitgaand verkeer of publieke belofte — het is één testbestand.

Ik heb #1797 zelf niet gebouwd; dit is alleen het ontbrekende stuk bewaking.

🤖 Generated with Claude Code

## Wat dit is Naloop op #1797 (issue #1789, inmiddels gesloten). Die PR liet de export melden dat een tabel ook op de kleinste letter niet op het blad past. De melding kreeg twee toetsen mee: de renderer telt de tabellen (`pdf_table_column_widths_test`) en de tekst van de melding klopt (`document_export_pdf_support_test`). De schakel ertussen niet. Dat de teller vanuit `buildDocumentExportBytes` ook werkelijk de schil bereikt, is alleen bewaakt met een greep in de brontekst van `document_editor_screen.dart`: ```dart expect(source, contains('onPdfTablesTooWide:')); expect(source, contains('warnAboutTablesTooWide(')); ``` ## Waarom dat een gat is Die greep ziet niets. Met de doorgifte in `document_export_service.dart` uitgezet: - `test/pdf/` — **158 tests, allemaal groen**, want de zoektermen staan nog gewoon in het bewerkscherm. Een gebruiker zou in die toestand zijn hash stil doorgehakt krijgen, precies het defect dat #1789 beschrijft. De zuster-terugroep `onPdfUnsupportedCharacters` heeft die gedragstoets wél (`document_export_write_test.dart`), dus dit is een gat en geen huisconventie. ## Wat erin zit Eén gedragstoets langs de hele keten, naar het voorbeeld van die zuster: een tabel met 64 plus 128 hexadecimale tekens door `buildDocumentExportBytes`, met de verwachting dat de teller op 1 uitkomt. Plus de negatieve kant aan de bestaande callback-toets: gewone tekst meldt niets. **Rood geproefd** tegen de uitgezette doorgifte, op deze basis: ``` Expected: [1] Actual: [] ``` ## Toetsing - `make check` groen - Bewaker **expliciet overgeslagen**: dit raakt geen bestandsformaat, opslag, afhankelijkheid, uitgaand verkeer of publieke belofte — het is één testbestand. Ik heb #1797 zelf niet gebouwd; dit is alleen het ontbrekende stuk bewaking. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
test(pdf): de tabelmelding wordt door de hele keten bewaakt (#1789)
All checks were successful
scans / scans (pull_request) Successful in 3m50s
static-gate / static-gate (pull_request) Successful in 8m52s
1948569d36
De melding "deze tabel past niet op het blad" landde in #1797 met twee toetsen:
de renderer telt de tabellen, en de tekst van de melding klopt. De schakel
ertussen — de teller die vanuit `buildDocumentExportBytes` de schil bereikt —
was alleen bewaakt met een greep in de brontekst van het bewerkscherm.

Die greep ziet niets. Met `onPdfTablesTooWide` in `document_export_service`
uitgezet bleven alle 153 tests in `test/pdf/` groen: de zoekterm staat nog in
`document_editor_screen.dart` en dus was er niets aan de hand. Een gebruiker
zou zijn hash stil doorgehakt krijgen, precies het defect dat #1789 beschrijft.

Nu een gedragstoets langs de hele keten, naar het voorbeeld van de zuster
`onPdfUnsupportedCharacters`: een tabel met 64 plus 128 hexadecimale tekens
door `buildDocumentExportBytes`, en de verwachting dat de teller op 1 uitkomt.
Rood geproefd tegen de uitgezette doorgifte. De negatieve kant hangt aan de
bestaande callback-toets: gewone tekst meldt niets.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
brenno force-pushed test/pdf-tabelmelding-doorgifte-v2 from 1948569d36
All checks were successful
scans / scans (pull_request) Successful in 3m50s
static-gate / static-gate (pull_request) Successful in 8m52s
to 000c744b61
All checks were successful
scans / scans (pull_request) Successful in 5m26s
static-gate / static-gate (pull_request) Successful in 12m30s
2026-09-03 08:46:25 +00:00
Compare
brenno force-pushed test/pdf-tabelmelding-doorgifte-v2 from 000c744b61
All checks were successful
scans / scans (pull_request) Successful in 5m26s
static-gate / static-gate (pull_request) Successful in 12m30s
to e86ffb7634
All checks were successful
scans / scans (pull_request) Successful in 5m7s
static-gate / static-gate (pull_request) Successful in 15m9s
2026-09-03 09:07:35 +00:00
Compare
brenno merged commit 4d87e57c62 into main 2026-09-03 09:42:23 +00:00
Sign in to join this conversation.
No description provided.