Add test GCedTreeNodeEmbedderTest.AsMapKey

This tests shows that persistent references to GC'd objects can
be used as keys in std::maps.

Change-Id: Ic114fde57d9b900b246cc55ed804f748cf229c4a
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/71493
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/fxjs/gc/gced_tree_node_embeddertest.cpp b/fxjs/gc/gced_tree_node_embeddertest.cpp
index 25a25b3..cbda307 100644
--- a/fxjs/gc/gced_tree_node_embeddertest.cpp
+++ b/fxjs/gc/gced_tree_node_embeddertest.cpp
@@ -4,6 +4,8 @@
 
 #include "fxjs/gc/gced_tree_node.h"
 
+#include <map>
+
 #include "core/fxcrt/observed_ptr.h"
 #include "fxjs/gc/heap.h"
 #include "testing/gced_embeddertest.h"
@@ -144,3 +146,10 @@
   EXPECT_TRUE(s_root);
   EXPECT_FALSE(watcher);
 }
+
+TEST_F(GCedTreeNodeEmbedderTest, AsMapKey) {
+  std::map<cppgc::Persistent<ObservableGCedTreeNodeForTest>, int> score;
+  ObservableGCedTreeNodeForTest* node = CreateNode();
+  score[node] = 100;
+  EXPECT_EQ(100, score[node]);
+}