chiark / gitweb /
doxygen: test that nested namespaces have the URL properly combined.
authorVladimír Vondruš <mosra@centrum.cz>
Sat, 10 Feb 2018 16:29:06 +0000 (17:29 +0100)
committerVladimír Vondruš <mosra@centrum.cz>
Sat, 10 Feb 2018 16:32:49 +0000 (17:32 +0100)
They don't.

doxygen/test/js-test-data/nested.bin [new file with mode: 0644]
doxygen/test/populate-js-test-data.py
doxygen/test/test-search.js

diff --git a/doxygen/test/js-test-data/nested.bin b/doxygen/test/js-test-data/nested.bin
new file mode 100644 (file)
index 0000000..446c461
Binary files /dev/null and b/doxygen/test/js-test-data/nested.bin differ
index 487f2e5ed4ca5e3234571e9c6ba26722acd21f51..895b4ec907c0efd575c8ec8f3a3dfb38aac64458 100755 (executable)
@@ -82,3 +82,12 @@ trie.insert("hárá", map.add("Hárá", "#b", flags=ResultFlag.PAGE))
 
 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))
index bffe1720e33ec31c8377e77a26813e7477fee8a0..9cb55052d9f3c845967422ee3921dbcaa02412f0 100644 (file)
@@ -255,4 +255,17 @@ const { StringDecoder } = require('string_decoder');
           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* */