]> git.lizzy.rs Git - rust.git/commitdiff
Fix invalid deduplication
authorGuillaume Gomez <guillaume1.gomez@gmail.com>
Sat, 12 May 2018 12:57:52 +0000 (14:57 +0200)
committerGuillaume Gomez <guillaume1.gomez@gmail.com>
Sat, 12 May 2018 17:16:37 +0000 (19:16 +0200)
src/librustdoc/html/static/main.js
src/test/rustdoc-js/deduplication.js [new file with mode: 0644]
src/tools/rustdoc-js/tester.js

index e08f3261871796fa343af6526a8ee753ed8b6783..3ee06a964de9d3da46b5bd22f7ceacc157bf6e38 100644 (file)
                         if (isType !== true || obj.type) {
                             var res = buildHrefAndPath(obj);
                             obj.displayPath = pathSplitter(res[0]);
-                            obj.fullPath = obj.displayPath + obj.n;
+                            obj.fullPath = obj.displayPath + obj.name;
                             obj.href = res[1];
                             out.push(obj);
                             if (out.length >= MAX_RESULTS) {
             var length = 0;
             if (array.length > 0) {
                 output = '<table class="search-results"' + extraStyle + '>';
-                var shown = [];
 
                 array.forEach(function(item) {
                     var name, type;
 
-                    var id_ty = item.ty + item.path + item.name;
-                    if (shown.indexOf(id_ty) !== -1) {
-                        return;
-                    }
-
-                    shown.push(id_ty);
                     name = item.name;
                     type = itemTypes[item.ty];
 
diff --git a/src/test/rustdoc-js/deduplication.js b/src/test/rustdoc-js/deduplication.js
new file mode 100644 (file)
index 0000000..0f29607
--- /dev/null
@@ -0,0 +1,21 @@
+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// ignore-order
+
+const QUERY = 'is_nan';
+
+const EXPECTED = {
+    'others': [
+        { 'path': 'std::f32', 'name': 'is_nan' },
+        { 'path': 'std::f64', 'name': 'is_nan' },
+        { 'path': 'std::option::Option', 'name': 'is_none' },
+    ],
+};
index 25f7a2d1294c5bcec54b06c422ff8f4aa1c4cba3..47667d93cb7f12b088a7e63840747c27075d058d 100644 (file)
@@ -160,10 +160,11 @@ function main(argv) {
     // execQuery first parameter is built in getQuery (which takes in the search input).
     // execQuery last parameter is built in buildIndex.
     // buildIndex requires the hashmap from search-index.
-    var functionsToLoad = ["levenshtein", "validateResult", "getQuery", "buildIndex", "execQuery",
-                           "execSearch"];
+    var functionsToLoad = ["buildHrefAndPath", "pathSplitter", "levenshtein", "validateResult",
+                           "getQuery", "buildIndex", "execQuery", "execSearch"];
 
     finalJS += 'window = { "currentCrate": "std" };\n';
+    finalJS += 'var rootPath = "../";\n';
     finalJS += ALIASES;
     finalJS += loadThings(arraysToLoad, 'array', extractArrayVariable, mainJs);
     finalJS += loadThings(variablesToLoad, 'variable', extractVariable, mainJs);