about summary refs log tree commit diff
path: root/tests/rustdoc-js/generics-match-ambiguity.js
diff options
context:
space:
mode:
authorMichael Howell <michael@notriddle.com>2023-06-08 23:12:36 -0700
committerMichael Howell <michael@notriddle.com>2023-06-11 18:57:33 -0700
commit94badbe5994dc81c194e73720145da4160fabee9 (patch)
tree172c588ce4104bbfa399dc26a927fbb6022b6b9a /tests/rustdoc-js/generics-match-ambiguity.js
parentc897deddb8ed9471cd739fa5ea763d47dbd9a0e3 (diff)
downloadrust-94badbe5994dc81c194e73720145da4160fabee9.tar.gz
rust-94badbe5994dc81c194e73720145da4160fabee9.zip
rustdoc-search: fix order-independence bug
Diffstat (limited to 'tests/rustdoc-js/generics-match-ambiguity.js')
-rw-r--r--tests/rustdoc-js/generics-match-ambiguity.js91
1 files changed, 91 insertions, 0 deletions
diff --git a/tests/rustdoc-js/generics-match-ambiguity.js b/tests/rustdoc-js/generics-match-ambiguity.js
new file mode 100644
index 00000000000..a9932a16ca3
--- /dev/null
+++ b/tests/rustdoc-js/generics-match-ambiguity.js
@@ -0,0 +1,91 @@
+// ignore-order
+// exact-check
+
+// Make sure that results are order-agnostic, even when there's search items that only differ
+// by generics.
+
+const EXPECTED = [
+    {
+        'query': 'Wrap',
+        'in_args': [
+            { 'path': 'generics_match_ambiguity', 'name': 'bar' },
+            { 'path': 'generics_match_ambiguity', 'name': 'foo' },
+        ],
+    },
+    {
+        'query': 'Wrap<i32>',
+        'in_args': [
+            { 'path': 'generics_match_ambiguity', 'name': 'bar' },
+            { 'path': 'generics_match_ambiguity', 'name': 'foo' },
+        ],
+    },
+    {
+        'query': 'Wrap<i32>, Wrap<i32, u32>',
+        'others': [
+            { 'path': 'generics_match_ambiguity', 'name': 'bar' },
+            { 'path': 'generics_match_ambiguity', 'name': 'foo' },
+        ],
+    },
+    {
+        'query': 'Wrap<i32, u32>, Wrap<i32>',
+        'others': [
+            { 'path': 'generics_match_ambiguity', 'name': 'bar' },
+            { 'path': 'generics_match_ambiguity', 'name': 'foo' },
+        ],
+    },
+    {
+        'query': 'W3<i32>, W3<i32, u32>',
+        'others': [
+            { 'path': 'generics_match_ambiguity', 'name': 'baaa' },
+            { 'path': 'generics_match_ambiguity', 'name': 'baab' },
+            { 'path': 'generics_match_ambiguity', 'name': 'baac' },
+            { 'path': 'generics_match_ambiguity', 'name': 'baad' },
+            { 'path': 'generics_match_ambiguity', 'name': 'baae' },
+            { 'path': 'generics_match_ambiguity', 'name': 'baaf' },
+            { 'path': 'generics_match_ambiguity', 'name': 'baag' },
+            { 'path': 'generics_match_ambiguity', 'name': 'baah' },
+        ],
+    },
+    {
+        'query': 'W3<i32, u32>, W3<i32>',
+        'others': [
+            { 'path': 'generics_match_ambiguity', 'name': 'baaa' },
+            { 'path': 'generics_match_ambiguity', 'name': 'baab' },
+            { 'path': 'generics_match_ambiguity', 'name': 'baac' },
+            { 'path': 'generics_match_ambiguity', 'name': 'baad' },
+            { 'path': 'generics_match_ambiguity', 'name': 'baae' },
+            { 'path': 'generics_match_ambiguity', 'name': 'baaf' },
+            { 'path': 'generics_match_ambiguity', 'name': 'baag' },
+            { 'path': 'generics_match_ambiguity', 'name': 'baah' },
+        ],
+    },
+    {
+        'query': 'W2<i32>, W2<i32, u32>',
+        'others': [
+            { 'path': 'generics_match_ambiguity', 'name': 'baag' },
+            { 'path': 'generics_match_ambiguity', 'name': 'baah' },
+        ],
+    },
+    {
+        'query': 'W2<i32, u32>, W2<i32>',
+        'others': [
+            { 'path': 'generics_match_ambiguity', 'name': 'baag' },
+            { 'path': 'generics_match_ambiguity', 'name': 'baah' },
+        ],
+    },
+    {
+        'query': 'W2<i32>, W3<i32, u32>',
+        'others': [
+            { 'path': 'generics_match_ambiguity', 'name': 'baac' },
+            { 'path': 'generics_match_ambiguity', 'name': 'baaf' },
+            { 'path': 'generics_match_ambiguity', 'name': 'baag' },
+        ],
+    },
+    {
+        'query': 'W2<i32>, W2<i32>',
+        'others': [
+            { 'path': 'generics_match_ambiguity', 'name': 'baag' },
+            { 'path': 'generics_match_ambiguity', 'name': 'baah' },
+        ],
+    },
+];