Fix invalid deduplication

This commit is contained in:
Guillaume Gomez 2018-05-12 14:57:52 +02:00
parent 8fab482a68
commit f2bc09e68b
3 changed files with 25 additions and 10 deletions

View File

@ -462,7 +462,7 @@
if (isType !== true || obj.type) { if (isType !== true || obj.type) {
var res = buildHrefAndPath(obj); var res = buildHrefAndPath(obj);
obj.displayPath = pathSplitter(res[0]); obj.displayPath = pathSplitter(res[0]);
obj.fullPath = obj.displayPath + obj.n; obj.fullPath = obj.displayPath + obj.name;
obj.href = res[1]; obj.href = res[1];
out.push(obj); out.push(obj);
if (out.length >= MAX_RESULTS) { if (out.length >= MAX_RESULTS) {
@ -1259,17 +1259,10 @@
var length = 0; var length = 0;
if (array.length > 0) { if (array.length > 0) {
output = '<table class="search-results"' + extraStyle + '>'; output = '<table class="search-results"' + extraStyle + '>';
var shown = [];
array.forEach(function(item) { array.forEach(function(item) {
var name, type; 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; name = item.name;
type = itemTypes[item.ty]; type = itemTypes[item.ty];

View File

@ -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' },
],
};

View File

@ -160,10 +160,11 @@ function main(argv) {
// execQuery first parameter is built in getQuery (which takes in the search input). // execQuery first parameter is built in getQuery (which takes in the search input).
// execQuery last parameter is built in buildIndex. // execQuery last parameter is built in buildIndex.
// buildIndex requires the hashmap from search-index. // buildIndex requires the hashmap from search-index.
var functionsToLoad = ["levenshtein", "validateResult", "getQuery", "buildIndex", "execQuery", var functionsToLoad = ["buildHrefAndPath", "pathSplitter", "levenshtein", "validateResult",
"execSearch"]; "getQuery", "buildIndex", "execQuery", "execSearch"];
finalJS += 'window = { "currentCrate": "std" };\n'; finalJS += 'window = { "currentCrate": "std" };\n';
finalJS += 'var rootPath = "../";\n';
finalJS += ALIASES; finalJS += ALIASES;
finalJS += loadThings(arraysToLoad, 'array', extractArrayVariable, mainJs); finalJS += loadThings(arraysToLoad, 'array', extractArrayVariable, mainJs);
finalJS += loadThings(variablesToLoad, 'variable', extractVariable, mainJs); finalJS += loadThings(variablesToLoad, 'variable', extractVariable, mainJs);