mirror of https://github.com/kiwix/libkiwix.git
Merge pull request #648 from kiwix/unique_readers_in_searcher
This commit is contained in:
commit
90910c5cab
|
@ -94,6 +94,12 @@ bool Searcher::add_reader(Reader* reader)
|
||||||
if (!reader->hasFulltextIndex()) {
|
if (!reader->hasFulltextIndex()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for ( const Reader* const existing_reader : readers ) {
|
||||||
|
if ( existing_reader->getZimArchive()->getUuid() == reader->getZimArchive()->getUuid() )
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
this->readers.push_back(reader);
|
this->readers.push_back(reader);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,18 @@
|
||||||
namespace kiwix
|
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));
|
||||||
|
ASSERT_FALSE(searcher.add_reader(&reader3));
|
||||||
|
}
|
||||||
|
|
||||||
TEST(Searcher, search) {
|
TEST(Searcher, search) {
|
||||||
Reader reader("./test/example.zim");
|
Reader reader("./test/example.zim");
|
||||||
|
|
||||||
|
@ -64,4 +76,4 @@ TEST(Searcher, incrementalRange) {
|
||||||
ASSERT_EQ(suggCount, 50);
|
ASSERT_EQ(suggCount, 50);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue