diff --git a/core/fpdfapi/page/cpdf_pageobjectholder_unittest.cpp b/core/fpdfapi/page/cpdf_pageobjectholder_unittest.cpp
index 7760256..43f3811 100644
--- a/core/fpdfapi/page/cpdf_pageobjectholder_unittest.cpp
+++ b/core/fpdfapi/page/cpdf_pageobjectholder_unittest.cpp
@@ -4,10 +4,17 @@
 
 #include "core/fpdfapi/page/cpdf_pageobjectholder.h"
 
+#include <algorithm>
 #include <limits>
+#include <vector>
 
+#include "core/fxcrt/fx_extension.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
+bool SafeCompare(const float& x, const float& y) {
+  return FXSYS_SafeLT(x, y);
+}
+
 // See https://crbug.com/852273
 TEST(CPDFPageObjectHolder, GraphicsDataAsKey) {
   const float fMin = std::numeric_limits<float>::min();
@@ -23,6 +30,14 @@
     }
   }
 
+  // Validate the documented sort order.
+  std::vector<float> data = {fMax, fInf, fNan, fMin};
+  std::sort(data.begin(), data.end(), SafeCompare);
+  EXPECT_EQ(data[0], fMin);
+  EXPECT_EQ(data[1], fMax);
+  EXPECT_EQ(data[2], fInf);
+  EXPECT_EQ(std::isnan(data[3]), std::isnan(fNan));
+
   std::map<GraphicsData, int> graphics_map;
 
   // Insert in reverse index permuted order.
diff --git a/core/fxcrt/fx_extension.h b/core/fxcrt/fx_extension.h
index 00b5ab7..f747ee4 100644
--- a/core/fxcrt/fx_extension.h
+++ b/core/fxcrt/fx_extension.h
@@ -118,6 +118,7 @@
 size_t FXSYS_ToUTF16BE(uint32_t unicode, char* buf);
 
 // Strict order over floating types where NaNs may be present.
+// All NaNs are treated as equal to each other and greater than infinity.
 template <typename T>
 bool FXSYS_SafeEQ(const T& lhs, const T& rhs) {
   return (std::isnan(lhs) && std::isnan(rhs)) ||
