Add XFA TIFF LZW pixel test

This adds a test case where a simple red square TIFF, using LZW
compression, image is embedded into an XFA document. This exercises
that <image> tags work correctly and that end to end rendering of LZW
TIFFs is working.

Change-Id: Iecaef68e7eb4b1e822737f3faf4837699261e28b
Reviewed-on: https://pdfium-review.googlesource.com/43230
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
diff --git a/testing/resources/pixel/xfa_specific/xfa_tiff_lzw_image.in b/testing/resources/pixel/xfa_specific/xfa_tiff_lzw_image.in
new file mode 100644
index 0000000..b894a56
--- /dev/null
+++ b/testing/resources/pixel/xfa_specific/xfa_tiff_lzw_image.in
@@ -0,0 +1,76 @@
+{{header}}
+
+%% Original object ID: 24 0
+{{object 1 0}}
+<<
+  /AcroForm 2 0 R
+  /Extensions <<
+    /ADBE <<
+      /BaseVersion /1.7
+      /ExtensionLevel 8
+    >>
+  >>
+  /NeedsRendering true
+  /Type /Catalog
+>>
+endobj
+
+%% Original object ID: 32 0
+{{object 2 0}}
+<<
+  /XFA [
+    (preamble)
+    3 0 R
+    (config)
+    4 0 R
+    (template)
+    5 0 R
+    (localeSet)
+    6 0 R
+    (postamble)
+    7 0 R
+  ]
+>>
+endobj
+
+{{xfapreamble 3 0}}
+{{xfaconfig 4 0}}
+
+{{object 5 0}}
+<<
+  {{streamlen}}
+>>
+stream
+<template xmlns="http://www.xfa.org/schema/xfa-template/3.3/">
+  <subform name="form1" layout="tb" locale="en_US" restoreState="auto">
+    <pageSet>
+      <pageArea name="Page1" id="Page1">
+        <contentArea x="18pt" y="18pt" w="612pt" h="792pt"/>
+        <medium stock="default" short="612pt" long="792pt"/>
+      </pageArea>
+    </pageSet>
+    <subform w="576pt" h="756pt" name="Page1">
+      <field name="ImageField1" w="250pt" h="250pt">
+        <value>
+          <image contentType="image/tiff">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</image>
+        </value>
+        <border>
+          <edge thickness="0.254mm"/>
+          <corner thickness="0.254mm"/>
+        </border>
+      </field>
+    </subform>
+  </subform>
+</template>
+
+endstream
+endobj
+
+{{xfalocale 6 0}}
+
+{{xfapostamble 7 0}}
+
+{{xref}}
+{{trailer}}
+{{startxref}}
+%%EOF
diff --git a/testing/resources/pixel/xfa_specific/xfa_tiff_lzw_image_expected.pdf.0.png b/testing/resources/pixel/xfa_specific/xfa_tiff_lzw_image_expected.pdf.0.png
new file mode 100644
index 0000000..5204fd7
--- /dev/null
+++ b/testing/resources/pixel/xfa_specific/xfa_tiff_lzw_image_expected.pdf.0.png
Binary files differ