Skip to content

test: Add common-document regressions and fix layout defects - #462

Merged
philprime merged 4 commits into
mainfrom
philprime/test/common-document-regressions
Oct 11, 2026
Merged

philprime merged 4 commits into
mainfrom
philprime/test/common-document-regressions

Conversation

@philprime

@philprime philprime commented Oct 11, 2026 •

Copy link
Copy Markdown
Member

Build a regression corpus of original, synthetic office documents inspired by common report, invoice, résumé, newsletter, letter, and agenda layouts. Exercise A4, US Letter, landscape, and debug mode with explicit content counts/order, headers/footers, column bounds, section separation, visible ink, TOC, links, and multi-document packets.

Retain failing regressions for group padding leaking after a page move, double-counted top padding, and wrapped link hitboxes using reversed line origins and missing horizontal offsets. Keep group top padding active across continuation pages and wrapped columns so backgrounds cannot cover page headers. Fix only those existing behaviors. Also cover image-delegate replacement before drawing, corrupt/truncated external-file recovery with a fresh generator, and locked-PDF error handling. No production features or third-party template assets are added.

Builds on #461, which is now merged. This PR targets main.

Verification

Focused regressions failed before the fixes and passed afterward. The latest full macOS run passed 243 unit-test declarations and 21 integration-test declarations with no recorded issues. The full iOS 26.4.1 simulator run passed 236 unit-test declarations and 20 integration-test declarations. Parameterized coverage includes 36 office-document combinations, 12 mixed-font/alignment/debug link combinations, six group continuation layout cases, and four generated-PDF continuation cases. Lint and diff checks passed, and the testing flag is restored.

Earlier macOS runs exposed an intermittent existing font-reset assertion: the requested system-font expectation unexpectedly reported Helvetica 12, then the runner retried successfully. This remains unresolved and is not suppressed. Existing Sendable, redundant-macro, Xcode metadata, and PDF-context nesting diagnostics remain. Other platforms were not tested locally and are covered by CI. The default local iOS 26.2 simulator is absent, so the installed 26.4.1 simulator was used.

Base automatically changed from philprime/test/behavior-hardening to main October 11, 2026 14:22
@philprime
philprime marked this pull request as ready for review October 11, 2026 14:22
@philprime
philprime enabled auto-merge (squash) October 11, 2026 14:22
Comment thread Source/Internal/Group/PDFGroupObject.swift Outdated
@github-actions

github-actions Bot commented Oct 11, 2026 •

Copy link
Copy Markdown
Warnings
⚠️ Big PR, try to keep changes smaller if you can

Generated by 🚫 Danger Swift against fde1a28

@philprime
philprime merged commit 02bc714 into main Oct 11, 2026
10 checks passed
@philprime
philprime deleted the philprime/test/common-document-regressions branch October 11, 2026 15:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant