Searcher::add_reader() rejects duplicate readers

A O(N) linear search was added to `Searcher::add_reader()` deliberately.
This doesn't seem to be an operation that may lead to performance
problems.
This commit is contained in:
Veloman Yunkan
2021-12-11 16:34:16 +04:00
committed by Matthieu Gautier
parent ff050dc811
commit 0be00b791f
2 changed files with 21 additions and 1 deletions

View File

@ -5,6 +5,20 @@
namespace kiwix
{
TEST(Searcher, add_reader) {
Reader reader1("./test/example.zim");
Reader reader2("./test/example.zim");
Reader reader3("./test/../test/example.zim");
Searcher searcher;
ASSERT_TRUE (searcher.add_reader(&reader1));
ASSERT_FALSE(searcher.add_reader(&reader1));
ASSERT_FALSE(searcher.add_reader(&reader2));
// equivalence of resolved paths is not checked by Searcher::add_reader
ASSERT_TRUE(searcher.add_reader(&reader3));
}
TEST(Searcher, search) {
Reader reader("./test/example.zim");
@ -64,4 +78,4 @@ TEST(Searcher, incrementalRange) {
ASSERT_EQ(suggCount, 50);
}
}
}