diff --git a/BUILD.gn b/BUILD.gn
index cdf6d6d..511065d 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -716,6 +716,7 @@
   sources = [
     "core/src/fpdfapi/fpdf_font/fpdf_font_cid_unittest.cpp",
     "core/src/fpdfapi/fpdf_font/fpdf_font_unittest.cpp",
+    "core/src/fpdfapi/fpdf_page/fpdf_page_parser_old_unittest.cpp",
     "core/src/fpdfapi/fpdf_parser/fpdf_parser_decode_unittest.cpp",
     "core/src/fxcodec/codec/fx_codec_jpx_unittest.cpp",
     "core/src/fxcrt/fx_basic_bstring_unittest.cpp",
diff --git a/core/src/fpdfapi/fpdf_page/fpdf_page_parser_old_unittest.cpp b/core/src/fpdfapi/fpdf_page/fpdf_page_parser_old_unittest.cpp
new file mode 100644
index 0000000..3fc012f
--- /dev/null
+++ b/core/src/fpdfapi/fpdf_page/fpdf_page_parser_old_unittest.cpp
@@ -0,0 +1,48 @@
+// Copyright 2015 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "testing/gtest/include/gtest/gtest.h"
+
+#include "pageint.h"
+
+TEST(fpdf_page_parser_old, ReadHexString) {
+  {
+    // Position out of bounds.
+    uint8_t data[] = "12ab>";
+    CPDF_StreamParser parser(data, 5);
+    parser.SetPos(6);
+    EXPECT_EQ("", parser.ReadHexString());
+  }
+
+  {
+    // Regular conversion.
+    uint8_t data[] = "1A2b>abcd";
+    CPDF_StreamParser parser(data, 5);
+    EXPECT_EQ("\x1a\x2b", parser.ReadHexString());
+    EXPECT_EQ(5, parser.GetPos());
+  }
+
+  {
+    // Missing ending >
+    uint8_t data[] = "1A2b";
+    CPDF_StreamParser parser(data, 5);
+    EXPECT_EQ("\x1a\x2b", parser.ReadHexString());
+    EXPECT_EQ(5, parser.GetPos());
+  }
+
+  {
+    // Uneven number of bytes.
+    uint8_t data[] = "1A2>asdf";
+    CPDF_StreamParser parser(data, 5);
+    EXPECT_EQ("\x1a\x20", parser.ReadHexString());
+    EXPECT_EQ(4, parser.GetPos());
+  }
+
+  {
+    uint8_t data[] = ">";
+    CPDF_StreamParser parser(data, 5);
+    EXPECT_EQ("", parser.ReadHexString());
+    EXPECT_EQ(1, parser.GetPos());
+  }
+}
diff --git a/core/src/fpdfapi/fpdf_page/pageint.h b/core/src/fpdfapi/fpdf_page/pageint.h
index 1b41633..e787d69 100644
--- a/core/src/fpdfapi/fpdf_page/pageint.h
+++ b/core/src/fpdfapi/fpdf_page/pageint.h
@@ -10,8 +10,12 @@
 #include <map>
 
 #include "../../../../third_party/base/nonstd_unique_ptr.h"
+#include "../../../include/fpdfapi/fpdf_page.h"
 #include "../../../include/fpdfapi/fpdf_pageobj.h"
 
+class CPDF_AllStates;
+class CPDF_ParseOptions;
+
 #define PARSE_STEP_LIMIT 100
 
 class CPDF_StreamParser {
@@ -41,6 +45,8 @@
   void SkipPathObject();
 
  protected:
+  friend class fpdf_page_parser_old_ReadHexString_Test;
+
   void GetNextWord(FX_BOOL& bIsNumber);
   CFX_ByteString ReadString();
   CFX_ByteString ReadHexString();
diff --git a/pdfium.gyp b/pdfium.gyp
index 7c8c02e..8687e76 100644
--- a/pdfium.gyp
+++ b/pdfium.gyp
@@ -716,6 +716,7 @@
       'sources': [
         'core/src/fpdfapi/fpdf_font/fpdf_font_cid_unittest.cpp',
         'core/src/fpdfapi/fpdf_font/fpdf_font_unittest.cpp',
+        'core/src/fpdfapi/fpdf_page/fpdf_page_parser_old_unittest.cpp',
         'core/src/fpdfapi/fpdf_parser/fpdf_parser_decode_unittest.cpp',
         'core/src/fxcodec/codec/fx_codec_jpx_unittest.cpp',
         'core/src/fxcrt/fx_basic_bstring_unittest.cpp',
