Enable RenderHelloWorldWithFlags on all platforms and partially for Skia.
Skia/SkiaPaths currently doesn't support rendering flags
FPDF_LCD_TEXT (enabling LCD optimization) and FPDF_RENDER_NO_SMOOTHTEXT
(disabling anti aliasing) when rendering with FPDF_RenderPageBitmap().
This CL adds the AGG expected results for the tests of these two
rendering flags on all platforms, and keeps them disabled for
Skia/SkiaPaths. Meanwhile, this CL enables the rest of the tests in
RenderHelloWorldWithFlags since now they can pass on all platforms and
for Skia/Skiapaths.
Bug: pdfium:1500
Change-Id: Ib0f2dad649d73f1f5a5d87349ff8cc3ba6adb750
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/70737
Commit-Queue: Hui Yingst <nigi@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/fpdfsdk/fpdf_view_embeddertest.cpp b/fpdfsdk/fpdf_view_embeddertest.cpp
index ba507e6..6387bb1 100644
--- a/fpdfsdk/fpdf_view_embeddertest.cpp
+++ b/fpdfsdk/fpdf_view_embeddertest.cpp
@@ -1223,17 +1223,7 @@
UnloadPage(page);
}
-#if defined(OS_LINUX)
-// TODO(crbug.com/pdfium/11): Fix this test and enable.
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
-#define MAYBE_RenderHelloWorldWithFlags DISABLED_RenderHelloWorldWithFlags
-#else
-#define MAYBE_RenderHelloWorldWithFlags RenderHelloWorldWithFlags
-#endif // defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
-TEST_F(FPDFViewEmbedderTest, MAYBE_RenderHelloWorldWithFlags) {
- static const char kLcdTextMD5[] = "825e881f39e48254e64e2808987a6b8c";
- static const char kNoSmoothtextMD5[] = "3d01e234120b783a3fffb27273ea1ea8";
-
+TEST_F(FPDFViewEmbedderTest, RenderHelloWorldWithFlags) {
ASSERT_TRUE(OpenDocument("hello_world.pdf"));
FPDF_PAGE page = LoadPage(0);
ASSERT_TRUE(page);
@@ -1241,28 +1231,46 @@
using pdfium::kHelloWorldChecksum;
TestRenderPageBitmapWithFlags(page, 0, kHelloWorldChecksum);
TestRenderPageBitmapWithFlags(page, FPDF_ANNOT, kHelloWorldChecksum);
- TestRenderPageBitmapWithFlags(page, FPDF_LCD_TEXT, kLcdTextMD5);
TestRenderPageBitmapWithFlags(page, FPDF_GRAYSCALE, kHelloWorldChecksum);
TestRenderPageBitmapWithFlags(page, FPDF_RENDER_LIMITEDIMAGECACHE,
kHelloWorldChecksum);
TestRenderPageBitmapWithFlags(page, FPDF_RENDER_FORCEHALFTONE,
kHelloWorldChecksum);
TestRenderPageBitmapWithFlags(page, FPDF_PRINTING, kHelloWorldChecksum);
- TestRenderPageBitmapWithFlags(page, FPDF_RENDER_NO_SMOOTHTEXT,
- kNoSmoothtextMD5);
TestRenderPageBitmapWithFlags(page, FPDF_RENDER_NO_SMOOTHIMAGE,
kHelloWorldChecksum);
TestRenderPageBitmapWithFlags(page, FPDF_RENDER_NO_SMOOTHPATH,
kHelloWorldChecksum);
+// TODO(crbug.com/pdfium/1522) Fix and enable the tests for FPDF_LCD_TEXT and
+// FPDF_RENDER_NO_SMOOTHTEXT flags for Skia and SkiaPaths.
+#if !defined(_SKIA_SUPPORT_) && !defined(_SKIA_SUPPORT_PATHS_)
+#if defined(OS_WIN)
+ static const char kLcdTextChecksum[] = "6e32f5a9c46e4e0730481081fe80617d";
+ static const char kNoSmoothtextChecksum[] =
+ "a728a18c9515ecddf77cfcf45fb6c375";
+#elif defined(OS_MACOSX)
+ static const char kLcdTextChecksum[] = "c38b75e16a13852aee3b97d77a0f0ee7";
+ static const char kNoSmoothtextChecksum[] =
+ "c38b75e16a13852aee3b97d77a0f0ee7";
+#else
+ static const char kLcdTextChecksum[] = "825e881f39e48254e64e2808987a6b8c";
+ static const char kNoSmoothtextChecksum[] =
+ "3d01e234120b783a3fffb27273ea1ea8";
+#endif
+
+ TestRenderPageBitmapWithFlags(page, FPDF_LCD_TEXT, kLcdTextChecksum);
+ TestRenderPageBitmapWithFlags(page, FPDF_RENDER_NO_SMOOTHTEXT,
+ kNoSmoothtextChecksum);
+
// For text rendering, When anti-aliasing is disabled, LCD Optimization flag
// will be ignored.
TestRenderPageBitmapWithFlags(page, FPDF_LCD_TEXT | FPDF_RENDER_NO_SMOOTHTEXT,
- kNoSmoothtextMD5);
+ kNoSmoothtextChecksum);
+#endif // !defined(_SKIA_SUPPORT_) && !defined(_SKIA_SUPPORT_PATHS_)
UnloadPage(page);
}
-#endif // defined(OS_LINUX)
#if defined(OS_WIN)
TEST_F(FPDFViewEmbedderTest, FPDFRenderPageEmf) {