Make EmbedderTest::WriteBitmapToPng() work with grayscale images.
Change-Id: I88d350171e2b18dc7776d17e845b55c361845721
Reviewed-on: https://pdfium-review.googlesource.com/27811
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/testing/embedder_test.cpp b/testing/embedder_test.cpp
index b4f3851..c39539b 100644
--- a/testing/embedder_test.cpp
+++ b/testing/embedder_test.cpp
@@ -480,8 +480,15 @@
static_cast<const unsigned char*>(FPDFBitmap_GetBuffer(bitmap));
std::vector<unsigned char> png_encoding;
- bool encoded = image_diff_png::EncodeBGRAPNG(buffer, width, height, stride,
- false, &png_encoding);
+ bool encoded;
+ if (FPDFBitmap_GetFormat(bitmap) == FPDFBitmap_Gray) {
+ encoded = image_diff_png::EncodeGrayPNG(buffer, width, height, stride,
+ &png_encoding);
+ } else {
+ encoded = image_diff_png::EncodeBGRAPNG(buffer, width, height, stride,
+ /*discard_transparency=*/false,
+ &png_encoding);
+ }
ASSERT_TRUE(encoded);
ASSERT_LT(filename.size(), 256u);