Refactor edit embedder tests for runtime renderer selection
Update tests to include expectation values for both Skia and AGG
renderers in a build, and choose the appropriate values for comparison
based upon a runtime check of the active renderer being used.
Bug: pdfium:1878
Change-Id: I4f5f71de8e3ad57fa3e9992d79747f23a0d8fd59
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/96751
Reviewed-by: Nigi <nigi@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Alan Screen <awscreen@chromium.org>
diff --git a/fpdfsdk/fpdf_edit_embeddertest.cpp b/fpdfsdk/fpdf_edit_embeddertest.cpp
index 7875425..bbcfcd5 100644
--- a/fpdfsdk/fpdf_edit_embeddertest.cpp
+++ b/fpdfsdk/fpdf_edit_embeddertest.cpp
@@ -19,6 +19,7 @@
#include "core/fpdfapi/parser/cpdf_stream_acc.h"
#include "core/fxcrt/fx_codepage.h"
#include "core/fxcrt/fx_system.h"
+#include "core/fxge/cfx_defaultrenderdevice.h"
#include "core/fxge/fx_font.h"
#include "fpdfsdk/cpdfsdk_helpers.h"
#include "public/cpp/fpdf_scopers.h"
@@ -44,46 +45,37 @@
const wchar_t kBottomText[] = L"I'm at the bottom of the page";
const char* BottomTextChecksum() {
-#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
- !defined(_SKIA_SUPPORT_PATHS_)
- static constexpr char kBottomTextChecksum[] =
- "81636489006a31fcb00cf29efcdf7909";
-#else
- static constexpr char kBottomTextChecksum[] =
- "891dcb6e914c8360998055f1f47c9727";
+#if BUILDFLAG(IS_APPLE)
+ if (!CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() &&
+ !CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+ return "81636489006a31fcb00cf29efcdf7909";
+ }
#endif
-
- return kBottomTextChecksum;
+ return "891dcb6e914c8360998055f1f47c9727";
}
const char* FirstRemovedChecksum() {
-#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
- !defined(_SKIA_SUPPORT_PATHS_)
- static constexpr char kFirstRemovedChecksum[] =
- "a1dc2812692fcc7ee4f01ca77435df9d";
-#else
- static constexpr char kFirstRemovedChecksum[] =
- "e1477dc3b5b3b9c560814c4d1135a02b";
+#if BUILDFLAG(IS_APPLE)
+ if (!CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() &&
+ !CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+ return "a1dc2812692fcc7ee4f01ca77435df9d";
+ }
#endif
-
- return kFirstRemovedChecksum;
+ return "e1477dc3b5b3b9c560814c4d1135a02b";
}
const wchar_t kLoadedFontText[] = L"I am testing my loaded font, WEE.";
const char* LoadedFontTextChecksum() {
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- static constexpr char kLoadedFontTextChecksum[] =
- "d58570cc045dfb818b92cbabbd1a364c";
-#elif BUILDFLAG(IS_APPLE)
- static constexpr char kLoadedFontTextChecksum[] =
- "0f3e4a7d71f9e7eb8a1a0d69403b9848";
+ if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() ||
+ CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+ return "d58570cc045dfb818b92cbabbd1a364c";
+ }
+#if BUILDFLAG(IS_APPLE)
+ return "0f3e4a7d71f9e7eb8a1a0d69403b9848";
#else
- static constexpr char kLoadedFontTextChecksum[] =
- "d58570cc045dfb818b92cbabbd1a364c";
+ return "d58570cc045dfb818b92cbabbd1a364c";
#endif
-
- return kLoadedFontTextChecksum;
}
const char kRedRectangleChecksum[] = "66d02eaa6181e2c069ce2ea99beda497";
@@ -335,7 +327,7 @@
// Regression test for https://crbug.com/667012
TEST_F(FPDFEditEmbedderTest, RasterizePDF) {
- const char kAllBlackMd5sum[] = "5708fc5c4a8bd0abde99c8e8f0390615";
+ const char kAllBlackChecksum[] = "5708fc5c4a8bd0abde99c8e8f0390615";
// Get the bitmap for the original document.
ScopedFPDFBitmap orig_bitmap;
@@ -344,7 +336,7 @@
FPDF_PAGE orig_page = LoadPage(0);
ASSERT_TRUE(orig_page);
orig_bitmap = RenderLoadedPage(orig_page);
- CompareBitmap(orig_bitmap.get(), 612, 792, kAllBlackMd5sum);
+ CompareBitmap(orig_bitmap.get(), 612, 792, kAllBlackChecksum);
UnloadPage(orig_page);
}
@@ -370,7 +362,7 @@
// Get the generated content. Make sure it is at least as big as the original
// PDF.
EXPECT_GT(GetString().size(), 923u);
- VerifySavedDocument(612, 792, kAllBlackMd5sum);
+ VerifySavedDocument(612, 792, kAllBlackChecksum);
}
TEST_F(FPDFEditEmbedderTest, AddPaths) {
@@ -531,14 +523,16 @@
EXPECT_TRUE(FPDFPath_BezierTo(blue_path, 375, 330, 390, 360, 400, 400));
EXPECT_TRUE(FPDFPath_Close(blue_path));
FPDFPage_InsertObject(page, blue_path);
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- static constexpr char kLastChecksum[] = "ed14c60702b1489c597c7d46ece7f86d";
-#else
- static constexpr char kLastChecksum[] = "9823e1a21bd9b72b6a442ba4f12af946";
-#endif
+ const char* last_checksum = []() {
+ if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() ||
+ CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+ return "ed14c60702b1489c597c7d46ece7f86d";
+ }
+ return "9823e1a21bd9b72b6a442ba4f12af946";
+ }();
{
ScopedFPDFBitmap page_bitmap = RenderPage(page);
- CompareBitmap(page_bitmap.get(), 612, 792, kLastChecksum);
+ CompareBitmap(page_bitmap.get(), 612, 792, last_checksum);
}
// Now save the result, closing the page and document
@@ -547,7 +541,7 @@
FPDF_ClosePage(page);
// Render the saved result
- VerifySavedDocument(612, 792, kLastChecksum);
+ VerifySavedDocument(612, 792, last_checksum);
}
TEST_F(FPDFEditEmbedderTest, ClipPath) {
@@ -732,15 +726,18 @@
// now displayed.
ASSERT_EQ(2, FPDFPage_CountObjects(page));
-#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
- !defined(_SKIA_SUPPORT_PATHS_)
- const char kChangedChecksum[] = "b720e83476fd6819d47c533f1f43c728";
-#else
- const char kChangedChecksum[] = "9a85b9354a69c61772ed24151c140f46";
+ const char* changed_checksum = []() {
+#if BUILDFLAG(IS_APPLE)
+ if (!CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() &&
+ !CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+ return "b720e83476fd6819d47c533f1f43c728";
+ }
#endif
+ return "9a85b9354a69c61772ed24151c140f46";
+ }();
{
ScopedFPDFBitmap page_bitmap = RenderPage(page);
- CompareBitmap(page_bitmap.get(), 200, 200, kChangedChecksum);
+ CompareBitmap(page_bitmap.get(), 200, 200, changed_checksum);
}
// Now save the result.
@@ -756,7 +753,7 @@
EXPECT_EQ(2, FPDFPage_CountObjects(saved_page));
{
ScopedFPDFBitmap page_bitmap = RenderPage(saved_page);
- CompareBitmap(page_bitmap.get(), 200, 200, kChangedChecksum);
+ CompareBitmap(page_bitmap.get(), 200, 200, changed_checksum);
}
CloseSavedPage(saved_page);
@@ -788,18 +785,19 @@
FPDF_PAGE page = LoadPage(0);
ASSERT_TRUE(page);
-#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
- !defined(_SKIA_SUPPORT_PATHS_)
- static constexpr char kOriginalChecksum[] =
- "ae7a25c85e0e2dd0c5cb9dd5cd37f6df";
-#else
- static constexpr char kOriginalChecksum[] =
- "7af7fe5b281298261eb66ac2d22f5054";
+ const char* original_checksum = []() {
+#if BUILDFLAG(IS_APPLE)
+ if (!CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() &&
+ !CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+ return "ae7a25c85e0e2dd0c5cb9dd5cd37f6df";
+ }
#endif
+ return "7af7fe5b281298261eb66ac2d22f5054";
+ }();
{
// When opened before any editing and saving, the clipping path is rendered.
ScopedFPDFBitmap original_bitmap = RenderPage(page);
- CompareBitmap(original_bitmap.get(), 200, 200, kOriginalChecksum);
+ CompareBitmap(original_bitmap.get(), 200, 200, original_checksum);
}
// "Change" the text in the objects to their current values to force them to
@@ -826,7 +824,7 @@
{
// After editing but before saving, the clipping path is retained.
ScopedFPDFBitmap edited_bitmap = RenderPage(page);
- CompareBitmap(edited_bitmap.get(), 200, 200, kOriginalChecksum);
+ CompareBitmap(edited_bitmap.get(), 200, 200, original_checksum);
}
// Save the file.
@@ -841,7 +839,7 @@
{
ScopedFPDFBitmap saved_bitmap = RenderSavedPage(saved_page);
- CompareBitmap(saved_bitmap.get(), 200, 200, kOriginalChecksum);
+ CompareBitmap(saved_bitmap.get(), 200, 200, original_checksum);
}
CloseSavedPage(saved_page);
@@ -854,18 +852,19 @@
FPDF_PAGE page = LoadPage(0);
ASSERT_TRUE(page);
-#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
- !defined(_SKIA_SUPPORT_PATHS_)
- static constexpr char kOriginalChecksum[] =
- "1226bc2b8072622eb28f52321876e814";
-#else
- static constexpr char kOriginalChecksum[] =
- "c5241eef60b9eac68ed1f2a5fd002703";
+ const char* original_checksum = []() {
+#if BUILDFLAG(IS_APPLE)
+ if (!CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() &&
+ !CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+ return "1226bc2b8072622eb28f52321876e814";
+ }
#endif
+ return "c5241eef60b9eac68ed1f2a5fd002703";
+ }();
{
// When opened before any editing and saving, the text object is rendered.
ScopedFPDFBitmap original_bitmap = RenderPage(page);
- CompareBitmap(original_bitmap.get(), 200, 300, kOriginalChecksum);
+ CompareBitmap(original_bitmap.get(), 200, 300, original_checksum);
}
// "Change" the text in the objects to their current values to force them to
@@ -899,7 +898,7 @@
{
ScopedFPDFBitmap saved_bitmap = RenderSavedPage(saved_page);
- CompareBitmap(saved_bitmap.get(), 200, 300, kOriginalChecksum);
+ CompareBitmap(saved_bitmap.get(), 200, 300, original_checksum);
}
CloseSavedPage(saved_page);
@@ -1056,18 +1055,17 @@
// Show what the original file looks like.
{
-#if defined(_SKIA_SUPPORT_)
- static constexpr char kOriginalChecksum[] =
- "34ac4e0f3ba510760be09d0e19c1b43e";
-#elif BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_PATHS_)
- static constexpr char kOriginalChecksum[] =
- "966579fb98206858ce2f0a1f94a74d05";
-#else
- static constexpr char kOriginalChecksum[] =
- "3d5a3de53d5866044c2b6bf339742c97";
+ const char* original_checksum = []() {
+ if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer())
+ return "34ac4e0f3ba510760be09d0e19c1b43e";
+#if BUILDFLAG(IS_APPLE)
+ if (!CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer())
+ return "966579fb98206858ce2f0a1f94a74d05";
#endif
+ return "3d5a3de53d5866044c2b6bf339742c97";
+ }();
ScopedFPDFBitmap page_bitmap = RenderPage(page);
- CompareBitmap(page_bitmap.get(), 200, 200, kOriginalChecksum);
+ CompareBitmap(page_bitmap.get(), 200, 200, original_checksum);
}
constexpr int expected_object_count = 19;
@@ -1103,25 +1101,27 @@
}
EXPECT_EQ(11, FPDFPage_CountObjects(page));
-#if defined(_SKIA_SUPPORT_)
- static constexpr char kNonPrimesChecksum[] =
- "c671fa07b63e85c4201b9926e880fda8";
- static constexpr char kNonPrimesAfterSaveChecksum[] =
- "c671fa07b63e85c4201b9926e880fda8";
-#elif BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_PATHS_)
- static constexpr char kNonPrimesChecksum[] =
- "6e19a4dd674b522cd39cf41956559bd6";
- static constexpr char kNonPrimesAfterSaveChecksum[] =
- "3cb35c681f8fb5a43a49146ac7caa818";
-#else
- static constexpr char kNonPrimesChecksum[] =
- "bc8623c052f12376c3d8dd09a6cd27df";
- static constexpr char kNonPrimesAfterSaveChecksum[] =
- "bc8623c052f12376c3d8dd09a6cd27df";
+ const char* non_primes_checksum = []() {
+ if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer())
+ return "c671fa07b63e85c4201b9926e880fda8";
+#if BUILDFLAG(IS_APPLE)
+ if (!CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer())
+ return "6e19a4dd674b522cd39cf41956559bd6";
#endif
+ return "bc8623c052f12376c3d8dd09a6cd27df";
+ }();
+ const char* non_primes_after_save_checksum = []() {
+ if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer())
+ return "c671fa07b63e85c4201b9926e880fda8";
+#if BUILDFLAG(IS_APPLE)
+ if (!CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer())
+ return "3cb35c681f8fb5a43a49146ac7caa818";
+#endif
+ return "bc8623c052f12376c3d8dd09a6cd27df";
+ }();
{
ScopedFPDFBitmap page_bitmap = RenderPage(page);
- CompareBitmap(page_bitmap.get(), 200, 200, kNonPrimesChecksum);
+ CompareBitmap(page_bitmap.get(), 200, 200, non_primes_checksum);
}
// Save the file.
@@ -1137,7 +1137,7 @@
{
ScopedFPDFBitmap page_bitmap = RenderPage(saved_page);
- CompareBitmap(page_bitmap.get(), 200, 200, kNonPrimesAfterSaveChecksum);
+ CompareBitmap(page_bitmap.get(), 200, 200, non_primes_after_save_checksum);
}
CloseSavedPage(saved_page);
@@ -1392,15 +1392,18 @@
// Verify the "Hello, world!" text is gone.
ASSERT_EQ(2, FPDFPage_CountObjects(page));
-#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
- !defined(_SKIA_SUPPORT_PATHS_)
- const char kHelloRemovedChecksum[] = "5508c2f06d104050f74f655693e38c2c";
-#else
- const char kHelloRemovedChecksum[] = "a8cd82499cf744e0862ca468c9d4ceb8";
+ const char* hello_removed_checksum = []() {
+#if BUILDFLAG(IS_APPLE)
+ if (!CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() &&
+ !CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+ return "5508c2f06d104050f74f655693e38c2c";
+ }
#endif
+ return "a8cd82499cf744e0862ca468c9d4ceb8";
+ }();
{
ScopedFPDFBitmap page_bitmap = RenderPage(page);
- CompareBitmap(page_bitmap.get(), 200, 200, kHelloRemovedChecksum);
+ CompareBitmap(page_bitmap.get(), 200, 200, hello_removed_checksum);
}
// Save the file
@@ -1417,7 +1420,7 @@
EXPECT_EQ(2, FPDFPage_CountObjects(saved_page));
{
ScopedFPDFBitmap page_bitmap = RenderPage(saved_page);
- CompareBitmap(page_bitmap.get(), 200, 200, kHelloRemovedChecksum);
+ CompareBitmap(page_bitmap.get(), 200, 200, hello_removed_checksum);
}
CloseSavedPage(saved_page);
@@ -1549,16 +1552,18 @@
EXPECT_EQ(1, cpdf_page_object->GetContentStream()) << i;
}
-#if defined(_SKIA_SUPPORT_)
- const char kStream1RemovedChecksum[] = "b9bb0acfdba4bb5d2e578e7b73341baf";
-#elif BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_PATHS_)
- const char kStream1RemovedChecksum[] = "3cdc75af44c15bed80998facd6e674c9";
-#else
- const char kStream1RemovedChecksum[] = "b474826df1acedb05c7b82e1e49e64a6";
+ const char* stream1_removed_checksum = []() {
+ if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer())
+ return "b9bb0acfdba4bb5d2e578e7b73341baf";
+#if BUILDFLAG(IS_APPLE)
+ if (!CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer())
+ return "3cdc75af44c15bed80998facd6e674c9";
#endif
+ return "b474826df1acedb05c7b82e1e49e64a6";
+ }();
{
ScopedFPDFBitmap page_bitmap = RenderPage(page);
- CompareBitmap(page_bitmap.get(), 200, 200, kStream1RemovedChecksum);
+ CompareBitmap(page_bitmap.get(), 200, 200, stream1_removed_checksum);
}
// Save the file
@@ -1587,7 +1592,7 @@
{
ScopedFPDFBitmap page_bitmap = RenderPage(saved_page);
- CompareBitmap(page_bitmap.get(), 200, 200, kStream1RemovedChecksum);
+ CompareBitmap(page_bitmap.get(), 200, 200, stream1_removed_checksum);
}
CloseSavedPage(saved_page);
@@ -1912,14 +1917,16 @@
// Verify the black rectangle was added.
ASSERT_EQ(kOriginalObjectCount + 1, FPDFPage_CountObjects(page));
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- const char kPlusRectangleMD5[] = "0d3715fcfb9bd0dd25dcce60800bff47";
-#else
- const char kPlusRectangleMD5[] = "6b9396ab570754b32b04ca629e902f77";
-#endif
+ const char* plus_rectangle_checksum = []() {
+ if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() ||
+ CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+ return "0d3715fcfb9bd0dd25dcce60800bff47";
+ }
+ return "6b9396ab570754b32b04ca629e902f77";
+ }();
{
ScopedFPDFBitmap page_bitmap = RenderPage(page);
- CompareBitmap(page_bitmap.get(), 200, 300, kPlusRectangleMD5);
+ CompareBitmap(page_bitmap.get(), 200, 300, plus_rectangle_checksum);
}
// Save the file.
@@ -1934,7 +1941,7 @@
EXPECT_EQ(kOriginalObjectCount + 1, FPDFPage_CountObjects(saved_page));
{
ScopedFPDFBitmap page_bitmap = RenderPage(saved_page);
- CompareBitmap(page_bitmap.get(), 200, 300, kPlusRectangleMD5);
+ CompareBitmap(page_bitmap.get(), 200, 300, plus_rectangle_checksum);
}
// Remove the added rectangle.
@@ -2061,14 +2068,18 @@
// Render and check the result.
ScopedFPDFBitmap bitmap = RenderLoadedPage(page);
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- const char kChecksum[] = "8a48b019826492331454f2809990aba8";
-#elif BUILDFLAG(IS_APPLE)
- const char kChecksum[] = "279693baca9f48da2d75a8e289aed58e";
+ const char* checksum = []() {
+ if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() ||
+ CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+ return "8a48b019826492331454f2809990aba8";
+ }
+#if BUILDFLAG(IS_APPLE)
+ return "279693baca9f48da2d75a8e289aed58e";
#else
- const char kChecksum[] = "fe415d47945c10b9cc8e9ca08887369e";
+ return "fe415d47945c10b9cc8e9ca08887369e";
#endif
- CompareBitmap(bitmap.get(), 200, 200, kChecksum);
+ }();
+ CompareBitmap(bitmap.get(), 200, 200, checksum);
UnloadPage(page);
}
@@ -2090,13 +2101,15 @@
EXPECT_TRUE(FPDFPath_SetDrawMode(red_rect, FPDF_FILLMODE_ALTERNATE, 0));
FPDFPage_InsertObject(page, red_rect);
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- const char kOriginalChecksum[] = "1e82fbdd21490cee9d3479fe6125af67";
-#else
- const char kOriginalChecksum[] = "ad04e5bd0f471a9a564fb034bd0fb073";
-#endif
+ const char* original_checksum = []() {
+ if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() ||
+ CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+ return "1e82fbdd21490cee9d3479fe6125af67";
+ }
+ return "ad04e5bd0f471a9a564fb034bd0fb073";
+ }();
ScopedFPDFBitmap bitmap = RenderLoadedPage(page);
- CompareBitmap(bitmap.get(), 612, 792, kOriginalChecksum);
+ CompareBitmap(bitmap.get(), 612, 792, original_checksum);
EXPECT_TRUE(FPDFPage_GenerateContent(page));
// Now save the result, closing the page and document
@@ -2106,7 +2119,7 @@
ASSERT_TRUE(OpenSavedDocument());
FPDF_PAGE saved_page = LoadSavedPage(0);
ASSERT_TRUE(saved_page);
- VerifySavedRendering(saved_page, 612, 792, kOriginalChecksum);
+ VerifySavedRendering(saved_page, 612, 792, original_checksum);
ClearString();
// Add another opaque rectangle on top of the existing content
@@ -2120,14 +2133,16 @@
EXPECT_TRUE(FPDFPageObj_SetFillColor(green_rect2, 0, 255, 0, 100));
EXPECT_TRUE(FPDFPath_SetDrawMode(green_rect2, FPDF_FILLMODE_ALTERNATE, 0));
FPDFPage_InsertObject(saved_page, green_rect2);
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- const char kLastChecksum[] = "8705d023e5fec3499d1e30cf2bcc5dc1";
-#else
- const char kLastChecksum[] = "4b5b00f824620f8c9b8801ebb98e1cdd";
-#endif
+ const char* last_checksum = []() {
+ if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() ||
+ CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+ return "8705d023e5fec3499d1e30cf2bcc5dc1";
+ }
+ return "4b5b00f824620f8c9b8801ebb98e1cdd";
+ }();
{
ScopedFPDFBitmap new_bitmap = RenderSavedPage(saved_page);
- CompareBitmap(new_bitmap.get(), 612, 792, kLastChecksum);
+ CompareBitmap(new_bitmap.get(), 612, 792, last_checksum);
}
EXPECT_TRUE(FPDFPage_GenerateContent(saved_page));
@@ -2138,7 +2153,7 @@
CloseSavedDocument();
// Render the saved result
- VerifySavedDocument(612, 792, kLastChecksum);
+ VerifySavedDocument(612, 792, last_checksum);
}
// TODO(crbug.com/pdfium/1651): Fix this issue and enable the test for Skia.
@@ -2165,12 +2180,14 @@
FPDFPage_InsertObject(page, rect);
{
ScopedFPDFBitmap page_bitmap = RenderPage(page);
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- static constexpr char kChecksum_1[] = "1469acf60e7647ebeb8e1fb08c5d6c7a";
-#else
- static constexpr char kChecksum_1[] = "64bd31f862a89e0a9e505a5af6efd506";
-#endif
- CompareBitmap(page_bitmap.get(), 612, 792, kChecksum_1);
+ const char* checksum_1 = []() {
+ if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() ||
+ CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+ return "1469acf60e7647ebeb8e1fb08c5d6c7a";
+ }
+ return "64bd31f862a89e0a9e505a5af6efd506";
+ }();
+ CompareBitmap(page_bitmap.get(), 612, 792, checksum_1);
}
// Add crossed-checkmark
@@ -2185,12 +2202,14 @@
FPDFPage_InsertObject(page, check);
{
ScopedFPDFBitmap page_bitmap = RenderPage(page);
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- static constexpr char kChecksum_2[] = "68b3194f74abd9d471695ce1415be43f";
-#else
- static constexpr char kChecksum_2[] = "4b6f3b9d25c4e194821217d5016c3724";
-#endif
- CompareBitmap(page_bitmap.get(), 612, 792, kChecksum_2);
+ const char* checksum_2 = []() {
+ if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() ||
+ CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+ return "68b3194f74abd9d471695ce1415be43f";
+ }
+ return "4b6f3b9d25c4e194821217d5016c3724";
+ }();
+ CompareBitmap(page_bitmap.get(), 612, 792, checksum_2);
}
// Add stroked and filled oval-ish path.
@@ -2206,12 +2225,14 @@
FPDFPage_InsertObject(page, path);
{
ScopedFPDFBitmap page_bitmap = RenderPage(page);
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- static constexpr char kChecksum_3[] = "ea784068651df2b9ba132ce9215e6780";
-#else
- static constexpr char kChecksum_3[] = "ff3e6a22326754944cc6e56609acd73b";
-#endif
- CompareBitmap(page_bitmap.get(), 612, 792, kChecksum_3);
+ const char* checksum_3 = []() {
+ if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() ||
+ CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+ return "ea784068651df2b9ba132ce9215e6780";
+ }
+ return "ff3e6a22326754944cc6e56609acd73b";
+ }();
+ CompareBitmap(page_bitmap.get(), 612, 792, checksum_3);
}
FPDF_ClosePage(page);
}
@@ -2251,16 +2272,19 @@
EXPECT_TRUE(FPDFPage_GenerateContent(page.get()));
{
ScopedFPDFBitmap page_bitmap = RenderPage(page.get());
-#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
- !defined(_SKIA_SUPPORT_PATHS_)
- static constexpr char md5[] = "983baaa1f688eff7a14b1bf91c171a1a";
-#else
- static constexpr char md5[] = "161523e196eb5341604cd73e12c97922";
+ const char* checksum = []() {
+#if BUILDFLAG(IS_APPLE)
+ if (!CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() &&
+ !CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+ return "983baaa1f688eff7a14b1bf91c171a1a";
+ }
#endif
- CompareBitmap(page_bitmap.get(), 612, 792, md5);
+ return "161523e196eb5341604cd73e12c97922";
+ }();
+ CompareBitmap(page_bitmap.get(), 612, 792, checksum);
EXPECT_TRUE(FPDF_SaveAsCopy(document(), this, 0));
- VerifySavedDocument(612, 792, md5);
+ VerifySavedDocument(612, 792, checksum);
}
// And some randomly transformed text
@@ -2274,16 +2298,19 @@
EXPECT_TRUE(FPDFPage_GenerateContent(page.get()));
{
ScopedFPDFBitmap page_bitmap = RenderPage(page.get());
-#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
- !defined(_SKIA_SUPPORT_PATHS_)
- static constexpr char md5[] = "e0b3493c5c16e41d0d892ffb48e63fba";
-#else
- static constexpr char md5[] = "1fbf772dca8d82b960631e6683934964";
+ const char* checksum = []() {
+#if BUILDFLAG(IS_APPLE)
+ if (!CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() &&
+ !CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+ return "e0b3493c5c16e41d0d892ffb48e63fba";
+ }
#endif
- CompareBitmap(page_bitmap.get(), 612, 792, md5);
+ return "1fbf772dca8d82b960631e6683934964";
+ }();
+ CompareBitmap(page_bitmap.get(), 612, 792, checksum);
EXPECT_TRUE(FPDF_SaveAsCopy(document(), this, 0));
- VerifySavedDocument(612, 792, md5);
+ VerifySavedDocument(612, 792, checksum);
}
FS_MATRIX matrix;
@@ -2353,16 +2380,24 @@
}
TEST_F(FPDFEditEmbedderTest, SetTextRenderMode) {
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- const char kOriginalChecksum[] = "39a4ac8f1fdc6653edd3b91862ea7b75";
- const char kStrokeChecksum[] = "d16eb1bb4748eeb5fb801594da70d519";
-#elif BUILDFLAG(IS_APPLE)
- const char kOriginalChecksum[] = "c488514ce0fc949069ff560407edacd2";
- const char kStrokeChecksum[] = "e06ee84aeebe926e8c980b7822027e8a";
+ const char* original_checksum = []() {
+ if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() ||
+ CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+ return "39a4ac8f1fdc6653edd3b91862ea7b75";
+ }
+#if BUILDFLAG(IS_APPLE)
+ return "c488514ce0fc949069ff560407edacd2";
#else
- const char kOriginalChecksum[] = "97a4fcf3c9581e19917895631af31d41";
- const char kStrokeChecksum[] = "e06ee84aeebe926e8c980b7822027e8a";
+ return "97a4fcf3c9581e19917895631af31d41";
#endif
+ }();
+ const char* stroke_checksum = []() {
+ if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() ||
+ CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+ return "d16eb1bb4748eeb5fb801594da70d519";
+ }
+ return "e06ee84aeebe926e8c980b7822027e8a";
+ }();
{
ASSERT_TRUE(OpenDocument("text_render_mode.pdf"));
@@ -2373,7 +2408,7 @@
// Check the bitmap
{
ScopedFPDFBitmap page_bitmap = RenderPage(page);
- CompareBitmap(page_bitmap.get(), 612, 446, kOriginalChecksum);
+ CompareBitmap(page_bitmap.get(), 612, 446, original_checksum);
}
// Cannot set on a null object.
@@ -2399,7 +2434,7 @@
// Check that bitmap displays changed content
{
ScopedFPDFBitmap page_bitmap = RenderPage(page);
- CompareBitmap(page_bitmap.get(), 612, 446, kStrokeChecksum);
+ CompareBitmap(page_bitmap.get(), 612, 446, stroke_checksum);
}
// Save a copy.
@@ -2422,7 +2457,7 @@
FPDFTextObj_GetTextRenderMode(page_object));
ScopedFPDFBitmap bitmap = RenderSavedPage(saved_page);
- CompareBitmap(bitmap.get(), 612, 446, kStrokeChecksum);
+ CompareBitmap(bitmap.get(), 612, 446, stroke_checksum);
CloseSavedPage(saved_page);
CloseSavedDocument();
@@ -2674,14 +2709,24 @@
}
TEST_F(FPDFEditEmbedderTest, ModifyFormObject) {
-#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
- !defined(_SKIA_SUPPORT_PATHS_)
- const char kOrigChecksum[] = "a637057185f50aac1aa5490f726aef95";
- const char kNewChecksum[] = "8ad9d79b02b609ff734e2a2195c96e2d";
-#else
- const char kOrigChecksum[] = "34a9ec0a9581a7970e073c0bcc4ca676";
- const char kNewChecksum[] = "609b5632a21c886fa93182dbc290bf7a";
+ const char* orig_checksum = []() {
+#if BUILDFLAG(IS_APPLE)
+ if (!CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() &&
+ !CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+ return "a637057185f50aac1aa5490f726aef95";
+ }
#endif
+ return "34a9ec0a9581a7970e073c0bcc4ca676";
+ }();
+ const char* new_checksum = []() {
+#if BUILDFLAG(IS_APPLE)
+ if (!CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() &&
+ !CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+ return "8ad9d79b02b609ff734e2a2195c96e2d";
+ }
+#endif
+ return "609b5632a21c886fa93182dbc290bf7a";
+ }();
ASSERT_TRUE(OpenDocument("form_object.pdf"));
FPDF_PAGE page = LoadPage(0);
@@ -2690,7 +2735,7 @@
{
ScopedFPDFBitmap bitmap = RenderLoadedPage(page);
- CompareBitmap(bitmap.get(), 62, 69, kOrigChecksum);
+ CompareBitmap(bitmap.get(), 62, 69, orig_checksum);
}
FPDF_PAGEOBJECT form = FPDFPage_GetObject(page, 0);
@@ -2701,11 +2746,11 @@
{
ScopedFPDFBitmap bitmap = RenderLoadedPage(page);
- CompareBitmap(bitmap.get(), 62, 69, kNewChecksum);
+ CompareBitmap(bitmap.get(), 62, 69, new_checksum);
}
EXPECT_TRUE(FPDF_SaveAsCopy(document(), this, 0));
- VerifySavedDocument(62, 69, kNewChecksum);
+ VerifySavedDocument(62, 69, new_checksum);
UnloadPage(page);
}
@@ -3080,20 +3125,24 @@
FPDFPage_InsertObject(page, text_object2);
}
ScopedFPDFBitmap page_bitmap2 = RenderPage(page);
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- const char kInsertTrueTypeChecksum[] = "683f4a385a891494100192cb338b11f0";
-#elif BUILDFLAG(IS_APPLE)
- const char kInsertTrueTypeChecksum[] = "c7e2271a7f30e5b919a13ead47cea105";
+ const char* insert_true_type_checksum = []() {
+ if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() ||
+ CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+ return "683f4a385a891494100192cb338b11f0";
+ }
+#if BUILDFLAG(IS_APPLE)
+ return "c7e2271a7f30e5b919a13ead47cea105";
#else
- const char kInsertTrueTypeChecksum[] = "683f4a385a891494100192cb338b11f0";
+ return "683f4a385a891494100192cb338b11f0";
#endif
- CompareBitmap(page_bitmap2.get(), 612, 792, kInsertTrueTypeChecksum);
+ }();
+ CompareBitmap(page_bitmap2.get(), 612, 792, insert_true_type_checksum);
EXPECT_TRUE(FPDFPage_GenerateContent(page));
EXPECT_TRUE(FPDF_SaveAsCopy(document(), this, 0));
FPDF_ClosePage(page);
- VerifySavedDocument(612, 792, kInsertTrueTypeChecksum);
+ VerifySavedDocument(612, 792, insert_true_type_checksum);
}
TEST_F(FPDFEditEmbedderTest, TransformAnnot) {
@@ -3157,10 +3206,10 @@
}
// Check that the text renders properly.
- static constexpr char md5[] = "84d31d11b76845423a2cfc1879c0fbb9";
+ static constexpr char kChecksum[] = "84d31d11b76845423a2cfc1879c0fbb9";
{
ScopedFPDFBitmap page_bitmap = RenderPage(page);
- CompareBitmap(page_bitmap.get(), 612, 792, md5);
+ CompareBitmap(page_bitmap.get(), 612, 792, kChecksum);
}
// Save the document, close the page.
@@ -3168,7 +3217,7 @@
EXPECT_TRUE(FPDF_SaveAsCopy(document(), this, 0));
FPDF_ClosePage(page);
- VerifySavedDocument(612, 792, md5);
+ VerifySavedDocument(612, 792, kChecksum);
}
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
@@ -3179,11 +3228,13 @@
#define MAYBE_SaveAndRender SaveAndRender
#endif
TEST_F(FPDFEditEmbedderTest, MAYBE_SaveAndRender) {
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- static constexpr char kChecksum[] = "0e8b079e349e34f64211c495845a3529";
-#else
- static constexpr char kChecksum[] = "3c20472b0552c0c22b88ab1ed8c6202b";
-#endif
+ const char* checksum = []() {
+ if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() ||
+ CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+ return "0e8b079e349e34f64211c495845a3529";
+ }
+ return "3c20472b0552c0c22b88ab1ed8c6202b";
+ }();
{
ASSERT_TRUE(OpenDocument("bug_779.pdf"));
FPDF_PAGE page = LoadPage(0);
@@ -3202,7 +3253,7 @@
EXPECT_TRUE(FPDFPath_Close(green_path));
FPDFPage_InsertObject(page, green_path);
ScopedFPDFBitmap page_bitmap = RenderLoadedPage(page);
- CompareBitmap(page_bitmap.get(), 612, 792, kChecksum);
+ CompareBitmap(page_bitmap.get(), 612, 792, checksum);
// Now save the result, closing the page and document
EXPECT_TRUE(FPDFPage_GenerateContent(page));
@@ -3210,7 +3261,7 @@
UnloadPage(page);
}
- VerifySavedDocument(612, 792, kChecksum);
+ VerifySavedDocument(612, 792, checksum);
}
TEST_F(FPDFEditEmbedderTest, AddMark) {