From fb7d9f02c83bfe12e2103357c8656c04a9bed9ba Mon Sep 17 00:00:00 2001 From: Matthieu Gautier Date: Wed, 12 Jan 2022 18:12:59 +0100 Subject: [PATCH] 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. --- include/library.h | 2 +- include/reader.h | 10 +++++--- test/library.cpp | 4 +-- test/meson.build | 1 - test/reader.cpp | 62 ----------------------------------------------- 5 files changed, 9 insertions(+), 70 deletions(-) delete mode 100644 test/reader.cpp diff --git a/include/library.h b/include/library.h index d54c8db4a..823cb295e 100644 --- a/include/library.h +++ b/include/library.h @@ -240,7 +240,7 @@ class Library : private LibraryBase Book getBookByIdThreadSafe(const std::string& id) const; - std::shared_ptr getReaderById(const std::string& id); + DEPRECATED std::shared_ptr getReaderById(const std::string& id); std::shared_ptr getArchiveById(const std::string& id); /** diff --git a/include/reader.h b/include/reader.h index 24d8d02fc..b23daf254 100644 --- a/include/reader.h +++ b/include/reader.h @@ -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; @@ -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 archive); + explicit DEPRECATED Reader(const std::shared_ptr 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; diff --git a/test/library.cpp b/test/library.cpp index a8d99e896..1f0079b49 100644 --- a/test/library.cpp +++ b/test/library.cpp @@ -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) diff --git a/test/meson.build b/test/meson.build index 939f99b7c..43d7a1e78 100644 --- a/test/meson.build +++ b/test/meson.build @@ -10,7 +10,6 @@ tests = [ 'manager', 'name_mapper', 'opds_catalog', - 'reader', 'searcher' ] diff --git a/test/reader.cpp b/test/reader.cpp deleted file mode 100644 index 2c25207dc..000000000 --- a/test/reader.cpp +++ /dev/null @@ -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 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); - } -} \ No newline at end of file