mirror of https://github.com/kiwix/libkiwix.git
Deprecate `Reader` creation.
As we `Reader` is now deprecated, we also remove the unit tests on it. `Reader` is now untested, and so it reduces the code coverage.
This commit is contained in:
parent
96e0d15ab4
commit
fb7d9f02c8
|
@ -240,7 +240,7 @@ class Library : private LibraryBase
|
|||
|
||||
Book getBookByIdThreadSafe(const std::string& id) const;
|
||||
|
||||
std::shared_ptr<Reader> getReaderById(const std::string& id);
|
||||
DEPRECATED std::shared_ptr<Reader> getReaderById(const std::string& id);
|
||||
std::shared_ptr<zim::Archive> getArchiveById(const std::string& id);
|
||||
|
||||
/**
|
||||
|
|
|
@ -73,6 +73,8 @@ class SuggestionItem
|
|||
/**
|
||||
* The Reader class is the class who allow to get an entry content from a zim
|
||||
* file.
|
||||
*
|
||||
* Reader is now deprecated. Directly use `zim::Archive`.
|
||||
*/
|
||||
|
||||
using SuggestionsList_t = std::vector<SuggestionItem>;
|
||||
|
@ -88,17 +90,17 @@ class Reader
|
|||
* unsplitted path as if the file were not splitted
|
||||
* (.zim extesion).
|
||||
*/
|
||||
explicit Reader(const string zimFilePath);
|
||||
explicit DEPRECATED Reader(const string zimFilePath);
|
||||
|
||||
/**
|
||||
* Create a Reader to read a zim file given by the Archive.
|
||||
*
|
||||
* @param archive The shared pointer to the Archive object.
|
||||
*/
|
||||
explicit Reader(const std::shared_ptr<zim::Archive> archive);
|
||||
explicit DEPRECATED Reader(const std::shared_ptr<zim::Archive> archive);
|
||||
#ifndef _WIN32
|
||||
explicit Reader(int fd);
|
||||
Reader(int fd, zim::offset_type offset, zim::size_type size);
|
||||
explicit DEPRECATED Reader(int fd);
|
||||
DEPRECATED Reader(int fd, zim::offset_type offset, zim::size_type size);
|
||||
#endif
|
||||
~Reader() = default;
|
||||
|
||||
|
|
|
@ -684,9 +684,9 @@ TEST_F(LibraryTest, removeBookByIdRemovesTheBook)
|
|||
|
||||
TEST_F(LibraryTest, removeBookByIdDropsTheReader)
|
||||
{
|
||||
EXPECT_NE(nullptr, lib.getReaderById("raycharles"));
|
||||
EXPECT_NE(nullptr, lib.getArchiveById("raycharles"));
|
||||
lib.removeBookById("raycharles");
|
||||
EXPECT_THROW(lib.getReaderById("raycharles"), std::out_of_range);
|
||||
EXPECT_THROW(lib.getArchiveById("raycharles"), std::out_of_range);
|
||||
};
|
||||
|
||||
TEST_F(LibraryTest, removeBookByIdUpdatesTheSearchDB)
|
||||
|
|
|
@ -10,7 +10,6 @@ tests = [
|
|||
'manager',
|
||||
'name_mapper',
|
||||
'opds_catalog',
|
||||
'reader',
|
||||
'searcher'
|
||||
]
|
||||
|
||||
|
|
|
@ -1,62 +0,0 @@
|
|||
|
||||
#include "gtest/gtest.h"
|
||||
#include "../include/reader.h"
|
||||
#include "zim/archive.h"
|
||||
|
||||
namespace kiwix
|
||||
{
|
||||
/**
|
||||
* This test file is written primarily to demonstrate how Reader is simply a
|
||||
* wrapper over an archive. We will be dropping this wrapper soon.
|
||||
**/
|
||||
TEST (Reader, archiveWrapper) {
|
||||
Reader reader("./test/zimfile.zim");
|
||||
zim::Archive archive = *reader.getZimArchive();
|
||||
|
||||
std::ostringstream s;
|
||||
s << archive.getUuid();
|
||||
|
||||
ASSERT_EQ(reader.getId(), s.str());
|
||||
ASSERT_EQ(reader.getGlobalCount(), archive.getEntryCount());
|
||||
ASSERT_EQ(reader.getMainPage().getTitle(), archive.getMainEntry().getTitle());
|
||||
ASSERT_EQ(reader.hasFulltextIndex(), archive.hasFulltextIndex());
|
||||
ASSERT_NO_THROW(reader.getRandomPage());
|
||||
}
|
||||
|
||||
TEST (Reader, getFunctions) {
|
||||
zim::Archive archive("./test/zimfile.zim");
|
||||
Reader reader("./test/zimfile.zim");
|
||||
|
||||
auto archiveEntry = archive.getRandomEntry();
|
||||
ASSERT_TRUE(reader.pathExists(archiveEntry.getPath()));
|
||||
auto readerEntry = reader.getEntryFromPath(archiveEntry.getPath());
|
||||
ASSERT_EQ(readerEntry.getTitle(), archiveEntry.getTitle());
|
||||
|
||||
ASSERT_FALSE(reader.pathExists("invalidEntryPath"));
|
||||
ASSERT_THROW(reader.getEntryFromPath("invalidEntryPath"), NoEntry);
|
||||
|
||||
readerEntry = reader.getEntryFromTitle(archiveEntry.getTitle());
|
||||
ASSERT_EQ(readerEntry.getTitle(), archiveEntry.getTitle());
|
||||
}
|
||||
|
||||
TEST (Reader, suggestions) {
|
||||
Reader reader("./test/zimfile.zim");
|
||||
SuggestionsList_t suggestions;
|
||||
reader.searchSuggestionsSmart("The Genius", 4, suggestions);
|
||||
|
||||
std::vector<std::string> suggestionResult, expectedResult;
|
||||
std::string suggestionTitle;
|
||||
for (auto it = suggestions.begin(); it != suggestions.end(); it++) {
|
||||
suggestionResult.push_back(it->getTitle());
|
||||
}
|
||||
|
||||
expectedResult = {
|
||||
"The Genius After Hours",
|
||||
"The Genius Hits the Road",
|
||||
"The Genius Sings the Blues",
|
||||
"The Genius of Ray Charles"
|
||||
};
|
||||
|
||||
ASSERT_EQ(suggestionResult, expectedResult);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue