diff --git a/core/fpdfapi/page/cpdf_colorspace_unittest.cpp b/core/fpdfapi/page/cpdf_colorspace_unittest.cpp
index 8ff25ff..879c85f 100644
--- a/core/fpdfapi/page/cpdf_colorspace_unittest.cpp
+++ b/core/fpdfapi/page/cpdf_colorspace_unittest.cpp
@@ -10,6 +10,26 @@
 #include "core/fxcrt/retain_ptr.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
+TEST(CPDF_CalGray, TranslateImageLine) {
+  const uint8_t kSrc[12] = {255, 0, 0, 0, 255, 0, 0, 0, 255, 128, 128, 128};
+  const uint8_t kExpect[12] = {255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+
+  RetainPtr<CPDF_ColorSpace> pCal = CPDF_ColorSpace::AllocateColorSpaceForID(
+      nullptr, FXBSTR_ID('C', 'a', 'l', 'G'));
+  ASSERT_TRUE(pCal);
+
+  uint8_t dst[12];
+  memset(dst, 0xbd, sizeof(dst));
+  pCal->TranslateImageLine(dst, kSrc, 4, 4, 1, true);
+  for (size_t i = 0; i < 12; ++i)
+    EXPECT_EQ(dst[i], kExpect[i]) << " at " << i;
+
+  memset(dst, 0xbd, sizeof(dst));
+  pCal->TranslateImageLine(dst, kSrc, 4, 4, 1, false);
+  for (size_t i = 0; i < 12; ++i)
+    EXPECT_EQ(dst[i], kExpect[i]) << " at " << i;
+}
+
 TEST(CPDF_CalRGB, TranslateImageLine) {
   const uint8_t kSrc[12] = {255, 0, 0, 0, 255, 0, 0, 0, 255, 128, 128, 128};
   const uint8_t kExpectMask[12] = {255, 58, 0,   0,   255, 0,
