Add a test case for incorrect line drawing when scaled.

Add a minimal test case in the form of a pixel test. The expected result
is the Skia rendering, while the buggy AGG rendering result is
suppressed.

Bug: pdfium:1846
Change-Id: I785fef8d5803652c37487b630f628399797f3d27
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/95550
Reviewed-by: Nigi <nigi@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/testing/SUPPRESSIONS b/testing/SUPPRESSIONS
index 3cd74d4..6e612fc 100644
--- a/testing/SUPPRESSIONS
+++ b/testing/SUPPRESSIONS
@@ -425,6 +425,9 @@
 # TODO(pdfium:1723): Remove after associated bug is fixed
 bug_1723.in * * * *
 
+# TODO(pdfium:1846): Remove after associated bug is fixed
+bug_1846.in * * * agg
+
 # TODO(chromium:237527): Remove after associated bug is fixed
 bug_237527_1.in * * * *
 
diff --git a/testing/resources/pixel/bug_1846.in b/testing/resources/pixel/bug_1846.in
new file mode 100644
index 0000000..e537e94
--- /dev/null
+++ b/testing/resources/pixel/bug_1846.in
@@ -0,0 +1,36 @@
+{{header}}
+{{object 1 0}} <<
+  /Type /Catalog
+  /Pages 2 0 R
+>>
+endobj
+{{object 2 0}} <<
+  /Type /Pages
+  /Count 1
+  /Kids [3 0 R]
+>>
+endobj
+{{object 3 0}} <<
+  /Type /Page
+  /Parent 2 0 R
+  /MediaBox [0 0 200 100]
+  /Contents 4 0 R
+>>
+endobj
+{{object 4 0}} <<
+  {{streamlen}}
+>>
+stream
+q
+5 0 0 5 0 0 cm
+0 1 0 RG
+0 0 m
+16000 1420 l
+S
+Q
+endstream
+endobj
+{{xref}}
+{{trailer}}
+{{startxref}}
+%%EOF
diff --git a/testing/resources/pixel/bug_1846_expected.pdf.0.png b/testing/resources/pixel/bug_1846_expected.pdf.0.png
new file mode 100644
index 0000000..bca30df
--- /dev/null
+++ b/testing/resources/pixel/bug_1846_expected.pdf.0.png
Binary files differ