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