From 8ee0c75f433aa63278d9e080667a55588527d323 Mon Sep 17 00:00:00 2001 From: Nico Weber Date: Tue, 21 Nov 2023 20:34:23 -0500 Subject: [PATCH] LibPDF: Add (automated!) test for outline encoding Manually added an Outlines dict with three items, one each for every text string encoding in its title. (Preview.app apparently can't handle UTF-8 in outlines either.) --- Tests/LibPDF/TestPDF.cpp | 7 +++++++ Tests/LibPDF/encoding.pdf | 42 +++++++++++++++++++++++++++++---------- 2 files changed, 38 insertions(+), 11 deletions(-) diff --git a/Tests/LibPDF/TestPDF.cpp b/Tests/LibPDF/TestPDF.cpp index 24648427b5..8d379c79b7 100644 --- a/Tests/LibPDF/TestPDF.cpp +++ b/Tests/LibPDF/TestPDF.cpp @@ -57,6 +57,13 @@ TEST_CASE(encodig) // FIXME: Make this pass. // EXPECT_EQ(MUST(info_dict.title()).value(), (char const*)u8"Êñ©•ding test"); + + auto outline_dict = document->outline(); + EXPECT_EQ(outline_dict->count, 3u); + EXPECT_EQ(outline_dict->children[0]->title, (char const*)u8"Titlè 1"); + // FIXME: Make this pass: + // EXPECT_EQ(outline_dict->children[1]->title, (char const*)u8"Titlè 2"); + EXPECT_EQ(outline_dict->children[2]->title, (char const*)u8"Titlè 3"); } TEST_CASE(truncated_pdf_header_issue_10717) diff --git a/Tests/LibPDF/encoding.pdf b/Tests/LibPDF/encoding.pdf index 4e7d05cae7..2b24c45407 100644 --- a/Tests/LibPDF/encoding.pdf +++ b/Tests/LibPDF/encoding.pdf @@ -1,8 +1,8 @@ -%PDF-1.7 +%PDF-2.0 %µ¶ 1 0 obj -<> +<> endobj 2 0 obj @@ -36,18 +36,38 @@ endobj </Producer(\357\273\277Man\303\274ally Created)/Title(\312\361\251\200ding test)>> endobj +7 0 obj +</Parent 10 0 R/Next 8 0 R>> +endobj + +8 0 obj +<> +endobj + +9 0 obj +</Parent 10 0 R/Prev 8 0 R>> +endobj + +10 0 obj +<> +endobj + xref -0 7 -0000000000 00001 f +0 11 +0000000000 65536 f 0000000016 00000 n -0000000062 00000 n -0000000114 00000 n -0000000227 00000 n -0000000448 00000 n -0000000546 00000 n +0000000078 00000 n +0000000130 00000 n +0000000243 00000 n +0000000464 00000 n +0000000562 00000 n +0000000715 00000 n +0000000801 00000 n +0000000876 00000 n +0000000952 00000 n trailer -<> +<> startxref -699 +1005 %%EOF