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_));