Skip to content

Commit

Permalink
Fix invalid deduplication
Browse files Browse the repository at this point in the history
  • Loading branch information
GuillaumeGomez committed May 12, 2018
1 parent 8fab482 commit f2bc09e
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 10 deletions.
9 changes: 1 addition & 8 deletions src/librustdoc/html/static/main.js
Expand Up @@ -462,7 +462,7 @@
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) {
Expand Down Expand Up @@ -1259,17 +1259,10 @@
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];

Expand Down
21 changes: 21 additions & 0 deletions src/test/rustdoc-js/deduplication.js
@@ -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' },
],
};
5 changes: 3 additions & 2 deletions src/tools/rustdoc-js/tester.js
Expand Up @@ -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);
Expand Down

0 comments on commit f2bc09e

Please sign in to comment.