var Search = {
formatVersion: 1, /* the data filename contains this number too */
+ dataSize: 0, /* used mainly by tests, not here */
+ symbolCount: '…',
trie: null,
map: null,
typeMap: null,
- dataSize: 0,
- symbolCount: 0,
maxResults: 0,
/* Always contains at least the root node offset and then one node offset
/* Set initial properties */
this.dataSize = buffer.byteLength;
- this.symbolCount = view.getUint16(4, true);
+ this.symbolCount = view.getUint16(4, true) + " symbols (" + Math.round(this.dataSize/102.4)/10 + " kB)";
this.maxResults = maxResults ? maxResults : 100;
this.searchString = '';
this.searchStack = [this.trie.getUint32(0, true)];
/* istanbul ignore if */
if(typeof document !== 'undefined') {
- document.getElementById('search-symbolcount').innerHTML =
- this.symbolCount + " symbols (" + Math.round(this.dataSize/102.4)/10 + " kB)";
+ document.getElementById('search-symbolcount').innerHTML = this.symbolCount;
document.getElementById('search-input').disabled = false;
document.getElementById('search-input').placeholder = "Type something here …";
document.getElementById('search-input').focus();
document.getElementById('search-symbolcount').innerHTML =
results[0].length + (results.length >= this.maxResults ? '+' : '') + " results (" + Math.round((after - prev)*10)/10 + " ms)";
} else
- document.getElementById('search-symbolcount').innerHTML =
- this.symbolCount + " symbols (" + Math.round(this.dataSize/102.4)/10 + " kB)";
+ document.getElementById('search-symbolcount').innerHTML = this.symbolCount;
},
};
Search.canGoBackToHideSearch = true;
updateForSearchVisible();
+ document.getElementById('search-symbolcount').innerHTML = Search.symbolCount;
return false;
}
{
let buffer = fs.readFileSync(path.join(__dirname, "js-test-data/empty.bin"));
assert.ok(Search.init(buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength)));
- assert.equal(Search.symbolCount, 0);
+ assert.equal(Search.dataSize, 26);
+ assert.equal(Search.symbolCount, "0 symbols (0 kB)");
assert.deepEqual(Search.search(''), [[], '']);
}
let buffer = fs.readFileSync(path.join(__dirname, "js-test-data/searchdata.bin"));
assert.ok(Search.init(buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength)));
assert.equal(Search.dataSize, 674);
- assert.equal(Search.symbolCount, 7);
+ assert.equal(Search.symbolCount, "7 symbols (0.7 kB)");
assert.equal(Search.maxResults, 100);
/* Blow up */
let buffer = fs.readFileSync(path.join(__dirname, "js-test-data/searchdata.bin"));
assert.ok(Search.init(buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength), 3));
assert.equal(Search.dataSize, 674);
- assert.equal(Search.symbolCount, 7);
+ assert.equal(Search.symbolCount, "7 symbols (0.7 kB)");
assert.equal(Search.maxResults, 3);
assert.deepEqual(Search.search('m'), [[
{ name: 'Math',
let b85 = fs.readFileSync(path.join(__dirname, "js-test-data/searchdata.b85"), {encoding: 'utf-8'});
assert.ok(Search.load(b85));
assert.equal(Search.dataSize, 676); /* some padding on the end, that's okay */
- assert.equal(Search.symbolCount, 7);
+ assert.equal(Search.symbolCount, "7 symbols (0.7 kB)");
assert.equal(Search.maxResults, 100);
assert.deepEqual(Search.search('min'), [[
{ name: 'Math::min(int, int)',
let buffer = fs.readFileSync(path.join(__dirname, "js-test-data/unicode.bin"));
assert.ok(Search.init(buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength)));
assert.equal(Search.dataSize, 160);
- assert.equal(Search.symbolCount, 2);
+ assert.equal(Search.symbolCount, "2 symbols (0.2 kB)");
/* Both "Hýždě" and "Hárá" have common autocompletion to "h\xA1", which is
not valid UTF-8, so it has to get truncated */
assert.deepEqual(Search.search('h'), [[
let buffer = fs.readFileSync(path.join(__dirname, "js-test-data/nested.bin"));
assert.ok(Search.init(buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength)));
assert.equal(Search.dataSize, 331);
- assert.equal(Search.symbolCount, 4);
+ assert.equal(Search.symbolCount, "4 symbols (0.3 kB)");
assert.deepEqual(Search.search('geo'), [[
{ name: 'Magnum::Math::Geometry',
url: 'namespaceMagnum_1_1Math_1_1Geometry.html',
let buffer = fs.readFileSync(path.join(__dirname, "js-test-data/manyresults.bin"));
assert.ok(Search.init(buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength), 10000));
assert.equal(Search.dataSize, 6415);
- assert.equal(Search.symbolCount, 128 + 3);
+ assert.equal(Search.symbolCount, "131 symbols (6.3 kB)");
assert.equal(Search.maxResults, 10000);
assert.deepEqual(Search.search('__init__')[0].length, 128 + 3);
assert.deepEqual(Search.search('__init__')[1], '');