Add a pixel test for annotations with the NoRotate flag.
Demonstrate the current incorrect behavior where the NoRotate flag is
ignored.
Bug: pdfium:1883
Change-Id: I7ee3d37324aaa5cf5064053385f158703adf6efd
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/98051
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/testing/resources/pixel/bug_1883.in b/testing/resources/pixel/bug_1883.in
new file mode 100644
index 0000000..79593bb
--- /dev/null
+++ b/testing/resources/pixel/bug_1883.in
@@ -0,0 +1,92 @@
+{{header}}
+{{object 1 0}} <<
+ /Type /Catalog
+ /Pages 2 0 R
+>>
+endobj
+{{object 2 0}} <<
+ /Type /Pages
+ /Count 4
+ /Kids [3 0 R 4 0 R 5 0 R 6 0 R]
+>>
+endobj
+{{object 3 0}} <<
+ /Type /Page
+ /Annots [7 0 R 8 0 R]
+ /MediaBox [0 0 612 792]
+ /Parent 2 0 R
+ /Rotate 0
+>>
+endobj
+{{object 4 0}} <<
+ /Type /Page
+ /Annots [7 0 R 8 0 R]
+ /MediaBox [0 0 792 612]
+ /Parent 2 0 R
+ /Rotate 90
+>>
+endobj
+{{object 5 0}} <<
+ /Type /Page
+ /Annots [7 0 R 8 0 R]
+ /MediaBox [0 0 612 792]
+ /Parent 2 0 R
+ /Rotate 180
+>>
+endobj
+{{object 6 0}} <<
+ /Type /Page
+ /Annots [7 0 R 8 0 R]
+ /MediaBox [0 0 792 612]
+ /Parent 2 0 R
+ /Rotate 270
+>>
+endobj
+{{object 7 0}} <<
+ /Type /Annot
+ /Subtype /Line
+ /AP <<
+ /N 9 0 R
+ >>
+ % NoRotate
+ /F 16
+ /L [100 50 100 150]
+ /P 3 0 R
+ /Rect [90 370 270 500]
+>>
+endobj
+{{object 8 0}} <<
+ /Type /Annot
+ /Subtype /Line
+ /AP <<
+ /N 9 0 R
+ >>
+ /F 0
+ /L [100 50 100 150]
+ /P 3 0 R
+ /Rect [190 470 370 600]
+>>
+endobj
+{{object 9 0}} <<
+ /Type /XObject
+ /Subtype /Form
+ /FormType 1
+ /BBox [0 0 360 130]
+ {{streamlen}}
+>>
+stream
+10 w
+1 0 0 RG
+30 65 m
+150 65 l
+S
+120 45 m
+150 65 l
+120 85 l
+S
+endstream
+endobj
+{{xref}}
+{{trailer}}
+{{startxref}}
+%%EOF
diff --git a/testing/resources/pixel/bug_1883_expected.pdf.0.png b/testing/resources/pixel/bug_1883_expected.pdf.0.png
new file mode 100644
index 0000000..4bc6992
--- /dev/null
+++ b/testing/resources/pixel/bug_1883_expected.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/bug_1883_expected.pdf.1.png b/testing/resources/pixel/bug_1883_expected.pdf.1.png
new file mode 100644
index 0000000..219cadd
--- /dev/null
+++ b/testing/resources/pixel/bug_1883_expected.pdf.1.png
Binary files differ
diff --git a/testing/resources/pixel/bug_1883_expected.pdf.2.png b/testing/resources/pixel/bug_1883_expected.pdf.2.png
new file mode 100644
index 0000000..1037f55
--- /dev/null
+++ b/testing/resources/pixel/bug_1883_expected.pdf.2.png
Binary files differ
diff --git a/testing/resources/pixel/bug_1883_expected.pdf.3.png b/testing/resources/pixel/bug_1883_expected.pdf.3.png
new file mode 100644
index 0000000..b8036f8
--- /dev/null
+++ b/testing/resources/pixel/bug_1883_expected.pdf.3.png
Binary files differ
diff --git a/testing/resources/pixel/bug_1883_expected_skia.pdf.0.png b/testing/resources/pixel/bug_1883_expected_skia.pdf.0.png
new file mode 100644
index 0000000..0478fa8
--- /dev/null
+++ b/testing/resources/pixel/bug_1883_expected_skia.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/bug_1883_expected_skia.pdf.1.png b/testing/resources/pixel/bug_1883_expected_skia.pdf.1.png
new file mode 100644
index 0000000..543bf2a
--- /dev/null
+++ b/testing/resources/pixel/bug_1883_expected_skia.pdf.1.png
Binary files differ
diff --git a/testing/resources/pixel/bug_1883_expected_skia.pdf.2.png b/testing/resources/pixel/bug_1883_expected_skia.pdf.2.png
new file mode 100644
index 0000000..0b71a4d
--- /dev/null
+++ b/testing/resources/pixel/bug_1883_expected_skia.pdf.2.png
Binary files differ
diff --git a/testing/resources/pixel/bug_1883_expected_skia.pdf.3.png b/testing/resources/pixel/bug_1883_expected_skia.pdf.3.png
new file mode 100644
index 0000000..dea2ab8
--- /dev/null
+++ b/testing/resources/pixel/bug_1883_expected_skia.pdf.3.png
Binary files differ