with open(basedir/'unicode.bin', 'wb') as f:
f.write(serialize_search_data(trie, map, 2))
+
+trie = Trie()
+map = ResultMap()
+trie.insert("magnum", map.add("Magnum", "namespaceMagnum.html", flags=ResultFlag.NAMESPACE))
+trie.insert("math", map.add("Magnum::Math", "namespaceMagnum_1_1Math.html", flags=ResultFlag.NAMESPACE))
+trie.insert("geometry", map.add("Magnum::Math::Geometry", "namespaceMagnum_1_1Math_1_1Geometry.html", flags=ResultFlag.NAMESPACE))
+
+with open(basedir/'nested.bin', 'wb') as f:
+ f.write(serialize_search_data(trie, map, 3))
suffixLength: 3 }]);
}
+/* Properly combine heavily nested URLs */
+{
+ 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, 215);
+ assert.equal(Search.symbolCount, 3);
+ assert.deepEqual(Search.search('geo'), [
+ { name: 'Magnum::Math::Geometry',
+ url: 'namespaceMagnum_1_1Math_1_1Geometry.html',
+ flags: 24,
+ suffixLength: 5 }]);
+}
+
/* Not testing Search.download() because the xmlhttprequest npm package is *crap* */