Add unit test for transparent comparison of UnownedPtr<T>.

Show that collections keyed by UnownedPtr<T> can be looked up against
using raw T* pointers using std::less<>.

Change-Id: I991689fe734ec1bfdd29bfc03a0546fc37585618
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/98371
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/core/fxcrt/unowned_ptr_unittest.cpp b/core/fxcrt/unowned_ptr_unittest.cpp
index 2d123bf..a1a3ec7 100644
--- a/core/fxcrt/unowned_ptr_unittest.cpp
+++ b/core/fxcrt/unowned_ptr_unittest.cpp
@@ -4,7 +4,9 @@
 
 #include "core/fxcrt/unowned_ptr.h"
 
+#include <functional>
 #include <memory>
+#include <set>
 #include <utility>
 
 #include "testing/gtest/include/gtest/gtest.h"
@@ -186,4 +188,14 @@
   EXPECT_FALSE(ptr2 < ptr1);
 }
 
+TEST(UnownedPtr, TransparentCompare) {
+  int foos[2];
+  UnownedPtr<int> ptr1(&foos[0]);
+  UnownedPtr<int> ptr2(&foos[1]);
+  std::set<UnownedPtr<int>, std::less<>> holder;
+  holder.insert(ptr1);
+  EXPECT_NE(holder.end(), holder.find(&foos[0]));
+  EXPECT_EQ(holder.end(), holder.find(&foos[1]));
+}
+
 }  // namespace fxcrt