Add a pixel test for the PostScript round operator.

PostScript has a special definition for its round operator, which PDFium
does not correctly implement. Add a pixel test with a function-based
shading that uses a PostScript calculator function to exercise the round
operator.

The PDF should render a small yellow rectangle in the lower left corner.
Currently, PDFium incorrectly renders a green rectangle, so suppress the
test result. https://pdfium-review.googlesource.com/56236 is the
follow-up CL that will fix the rendering.

Bug: pdfium:1321
Change-Id: Ib1c262269dbb788073bbd6375411b874c62ae1fd
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/56237
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/testing/SUPPRESSIONS b/testing/SUPPRESSIONS
index fe49416..c492ec5 100644
--- a/testing/SUPPRESSIONS
+++ b/testing/SUPPRESSIONS
@@ -328,6 +328,9 @@
 # TODO(pdfium:632): Remove after associated bug is fixed
 bug_632.in * * *
 
+# TODO(pdfium:1321): Remove after associated bug is fixed
+bug_1321.in * * *
+
 # xfa_specific
 
 # TODO(pdfium:1107): Remove after associated bug is fixed
diff --git a/testing/resources/pixel/bug_1321.in b/testing/resources/pixel/bug_1321.in
new file mode 100644
index 0000000..10e7187
--- /dev/null
+++ b/testing/resources/pixel/bug_1321.in
@@ -0,0 +1,81 @@
+{{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 300]
+  /Resources <<
+    /Shading << /Sh0 5 0 R >>
+  >>
+  /Contents 4 0 R
+>>
+endobj
+{{object 4 0}} <<
+  {{streamlen}}
+>>
+stream
+q
+72 0 0 72 10 10 cm
+/Sh0 sh
+Q
+endstream
+endobj
+{{object 5 0}} <<
+  /ShadingType 1
+  /ColorSpace /DeviceRGB
+  /Background [0 .5 .1]
+  /BBox [0 0 72 72]
+  /Domain [-1 1 -1 1]
+  /Function [6 0 R 7 0 R 8 0 R]
+>>
+endobj
+{{object 6 0}} <<
+  /FunctionType 4
+  /Domain [-1 1 -1 1]
+  /Range [-1 1]
+  {{streamlen}}
+>>
+stream
+{
+-5.5 round 6 add
+}
+endstream
+endobj
+{{object 7 0}} <<
+  /FunctionType 4
+  /Domain [-1 1 -1 1]
+  /Range [-1 1]
+  {{streamlen}}
+>>
+stream
+{
+-5.4 round 6 add
+}
+endstream
+endobj
+{{object 8 0}} <<
+  /FunctionType 4
+  /Domain [-1 1 -1 1]
+  /Range [-1 1]
+  {{streamlen}}
+>>
+stream
+{
+-5.6 round 6 add
+}
+endstream
+endobj
+{{xref}}
+{{trailer}}
+{{startxref}}
+%%EOF
diff --git a/testing/resources/pixel/bug_1321_expected.pdf.0.png b/testing/resources/pixel/bug_1321_expected.pdf.0.png
new file mode 100644
index 0000000..4a5d6dd
--- /dev/null
+++ b/testing/resources/pixel/bug_1321_expected.pdf.0.png
Binary files differ