Add an embedder test to render jpx_lzw.pdf with flags.
Improves test coverage for image rendering. e.g. in CFX_DIBitmap.
Change-Id: I4400be825483b7957ba4940cab6158d5677b7738
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/73571
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Hui Yingst <nigi@chromium.org>
diff --git a/fpdfsdk/fpdf_view_embeddertest.cpp b/fpdfsdk/fpdf_view_embeddertest.cpp
index 563710a..d47edb6 100644
--- a/fpdfsdk/fpdf_view_embeddertest.cpp
+++ b/fpdfsdk/fpdf_view_embeddertest.cpp
@@ -1267,6 +1267,34 @@
UnloadPage(page);
}
+TEST_F(FPDFViewEmbedderTest, RenderJpxLzwImageWithFlags) {
+ static const char kNormalChecksum[] = "4bcd56cae1ca2622403e8af07242e71a";
+ static const char kGrayscaleChecksum[] = "fe45ad56efe868ba82285fa5ffedc0cb";
+
+ ASSERT_TRUE(OpenDocument("jpx_lzw.pdf"));
+ FPDF_PAGE page = LoadPage(0);
+ ASSERT_TRUE(page);
+
+ TestRenderPageBitmapWithFlags(page, 0, kNormalChecksum);
+ TestRenderPageBitmapWithFlags(page, FPDF_ANNOT, kNormalChecksum);
+ TestRenderPageBitmapWithFlags(page, FPDF_LCD_TEXT, kNormalChecksum);
+ TestRenderPageBitmapWithFlags(page, FPDF_NO_NATIVETEXT, kNormalChecksum);
+ TestRenderPageBitmapWithFlags(page, FPDF_GRAYSCALE, kGrayscaleChecksum);
+ TestRenderPageBitmapWithFlags(page, FPDF_RENDER_LIMITEDIMAGECACHE,
+ kNormalChecksum);
+ TestRenderPageBitmapWithFlags(page, FPDF_RENDER_FORCEHALFTONE,
+ kNormalChecksum);
+ TestRenderPageBitmapWithFlags(page, FPDF_PRINTING, kNormalChecksum);
+ TestRenderPageBitmapWithFlags(page, FPDF_RENDER_NO_SMOOTHTEXT,
+ kNormalChecksum);
+ TestRenderPageBitmapWithFlags(page, FPDF_RENDER_NO_SMOOTHIMAGE,
+ kNormalChecksum);
+ TestRenderPageBitmapWithFlags(page, FPDF_RENDER_NO_SMOOTHPATH,
+ kNormalChecksum);
+
+ UnloadPage(page);
+}
+
TEST_F(FPDFViewEmbedderTest, RenderManyRectanglesWithFlags) {
#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
static const char kGrayscaleMD5[] = "b596ac8bbe64e7bff31888ab05e4dcf4";