{ "generator": "generate_link_borders.py", "license": "Self-created test content; same license as DocView.", "fixtures": [ { "file": "styles.pdf", "bytes": 5335, "sha256": "add7f02f5295f39b9bd340151f7c7ea0b50786c89f66af791215df2c13badf1b", "pages": 4, "annotations": [ { "name": "default", "rect": [ 40, 50, 140, 80 ], "has_border": true }, { "name": "solid-rgb", "rect": [ 160, 50, 260, 80 ], "has_border": true }, { "name": "dashed-border", "rect": [ 280, 50, 380, 80 ], "has_border": true }, { "name": "dashed-bs-odd", "rect": [ 400, 50, 500, 80 ], "has_border": true }, { "name": "dashed-default", "rect": [ 40, 125, 140, 155 ], "has_border": true }, { "name": "underline", "rect": [ 160, 125, 260, 155 ], "has_border": true }, { "name": "bs-overrides-border", "rect": [ 280, 125, 380, 155 ], "has_border": true }, { "name": "zero-width", "rect": [ 400, 125, 500, 155 ], "has_border": false }, { "name": "transparent", "rect": [ 40, 200, 140, 230 ], "has_border": false }, { "name": "hidden", "rect": [ 160, 200, 260, 230 ], "has_border": false }, { "name": "no-view", "rect": [ 280, 200, 380, 230 ], "has_border": false }, { "name": "print-flag-visible", "rect": [ 400, 200, 500, 230 ], "has_border": true }, { "name": "gray", "rect": [ 40, 275, 140, 305 ], "has_border": true }, { "name": "cmyk", "rect": [ 160, 275, 260, 305 ], "has_border": true }, { "name": "rounded", "rect": [ 280, 275, 380, 305 ], "has_border": true }, { "name": "beveled", "rect": [ 400, 275, 500, 305 ], "has_border": true }, { "name": "inset", "rect": [ 40, 350, 140, 380 ], "has_border": true }, { "name": "appearance-preserved", "rect": [ 160, 350, 260, 380 ], "has_border": true }, { "name": "empty-appearance-preserved", "rect": [ 280, 350, 380, 380 ], "has_border": false }, { "name": "alpha", "rect": [ 400, 350, 500, 380 ], "has_border": true } ], "reference_limitations": [ "Poppler ignores gray/CMYK border colors, rounded corners, bevel/inset, and alpha in its no-AP link fallback; assert these independently.", "Saved normal AP must be preserved without adding a second border, even if Poppler adds one." ] }, { "file": "unknown-style.pdf", "bytes": 479, "sha256": "d4143011ea2114f4fbb0d39c10b4dac9d4a66a58cc6af6f70ee8d3feb6dc4fc5", "render_error": "E_PDF_ANNOT_UNSUPPORTED" }, { "file": "no-zoom.pdf", "bytes": 462, "sha256": "e84b3c14db58235d6d4020abb99e3ed76cb2b95b49a4a134a3e41957270b8bfe", "expected": "Valid annotation flag; rendering succeeds. Geometry coverage is in annotation-flags/flags.pdf." }, { "file": "no-rotate.pdf", "bytes": 463, "sha256": "ffacbbb08144ad880b6d582fa90199fabea4935601ceed5f9acc17a8d4231656", "expected": "Valid annotation flag; rendering succeeds. Geometry coverage is in annotation-flags/flags.pdf." }, { "file": "invalid-dash.pdf", "bytes": 482, "sha256": "41ad1db315a360b98bb84c2fb44e5cb65eff5a690d9246fb3cd18b1f262858d7", "render_error": "E_PDF_CORRUPT" }, { "file": "oversized-dash.pdf", "bytes": 609, "sha256": "51ecdef6659ea919b38985d21e4cc65f352f22654ecf47efd1670eea1b931640", "render_error": "E_LIMIT_EXCEEDED" }, { "file": "invalid-color.pdf", "bytes": 466, "sha256": "eeb32339cc56e21cb6c3f2964c035746e0e233cfb694eb9bb9dafd1850010465", "render_error": "E_PDF_CORRUPT" }, { "file": "invalid-ap.pdf", "bytes": 473, "sha256": "d604660b85493a4fe7f68062597b0e0f08f4a9d26029ad1b11afa661c629502b", "render_error": "E_PDF_CORRUPT" }, { "file": "retry-budget.pdf", "bytes": 127908, "sha256": "bb1145397f88a941e1597ed485fcab7a141bd6b11a82403a96bd646ec8d28e79", "expected": "Forty failed page-0 decodes must not charge discarded appearances or prevent valid page-1 rendering." } ] }