From: Vladimír Vondruš Date: Sat, 10 Feb 2018 16:29:06 +0000 (+0100) Subject: doxygen: test that nested namespaces have the URL properly combined. X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~cjwatson/git?a=commitdiff_plain;h=8725c88a982d4fd5ed8ed0901e25583782a93b9b;p=blog.git doxygen: test that nested namespaces have the URL properly combined. They don't. --- diff --git a/doxygen/test/js-test-data/nested.bin b/doxygen/test/js-test-data/nested.bin new file mode 100644 index 00000000..446c4617 Binary files /dev/null and b/doxygen/test/js-test-data/nested.bin differ diff --git a/doxygen/test/populate-js-test-data.py b/doxygen/test/populate-js-test-data.py index 487f2e5e..895b4ec9 100755 --- a/doxygen/test/populate-js-test-data.py +++ b/doxygen/test/populate-js-test-data.py @@ -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)) diff --git a/doxygen/test/test-search.js b/doxygen/test/test-search.js index bffe1720..9cb55052 100644 --- a/doxygen/test/test-search.js +++ b/doxygen/test/test-search.js @@ -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* */