Add a test to exercise FPDF_FFLDraw() with FPDF_REVERSE_BYTE_ORDER.
Add a new FPDFFormFillEmbedderTest to render a PDF that contains a blue
button. When the byte order is reversed, it should be red instead.
BUG=pdfium:994,pdfium:1281
Change-Id: Ia72ea9de27c7aa9e2f21ea6eb191117294d79426
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/53052
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/fpdfsdk/fpdf_formfill_embeddertest.cpp b/fpdfsdk/fpdf_formfill_embeddertest.cpp
index 3de1e86..96c35b8 100644
--- a/fpdfsdk/fpdf_formfill_embeddertest.cpp
+++ b/fpdfsdk/fpdf_formfill_embeddertest.cpp
@@ -839,6 +839,29 @@
VerifySavedDocument(300, 300, md5_3);
}
+// Tests using FPDF_REVERSE_BYTE_ORDER with FPDF_FFLDraw(). The two rendered
+// bitmaps should be different.
+TEST_F(FPDFFormFillEmbedderTest, BUG_1281) {
+ const char kMd5Normal[] = "6c674642154408e877d88c6c082d67e9";
+ // TODO(https://crbug.com/pdfium/1281): This should be
+ // 24fff03d1e663b7ece5f6e69ad837124.
+ const char kMd5ReverseByteOrder[] = "6c674642154408e877d88c6c082d67e9";
+
+ ASSERT_TRUE(OpenDocument("bug_890322.pdf"));
+ FPDF_PAGE page = LoadPage(0);
+ ASSERT_TRUE(page);
+
+ ScopedFPDFBitmap bitmap_normal = RenderLoadedPage(page);
+ CompareBitmap(bitmap_normal.get(), 200, 200, kMd5Normal);
+
+ ScopedFPDFBitmap bitmap_reverse_byte_order =
+ RenderLoadedPageWithFlags(page, FPDF_REVERSE_BYTE_ORDER);
+ CompareBitmap(bitmap_reverse_byte_order.get(), 200, 200,
+ kMd5ReverseByteOrder);
+
+ UnloadPage(page);
+}
+
TEST_F(FPDFFormFillEmbedderTest, HasFormInfoNone) {
EXPECT_TRUE(OpenDocument("hello_world.pdf"));
EXPECT_EQ(FORMTYPE_NONE, FPDF_GetFormType(document_));