diff --git a/test/book.cpp b/test/book.cpp index 4ed2df77a..8b1a29ee6 100644 --- a/test/book.cpp +++ b/test/book.cpp @@ -58,60 +58,53 @@ TEST(BookTest, updateFromXMLTest) EXPECT_EQ(defaultIllustration->url, "http://who.org/zara.fav"); } +namespace +{ + +kiwix::Book makeBook(const std::string& attr, const std::string& baseDir="") +{ + const XMLDoc xml(""); + kiwix::Book book; + book.updateFromXml(xml.child("book"), baseDir); + return book; +} + +} // unnamed namespace + TEST(BookTest, updateFromXMLCategoryHandlingTest) { { - const XMLDoc xml(R"( - - + const kiwix::Book book = makeBook(R"( + id="abcd" + tags="_category:category_defined_via_tags_only" )"); - kiwix::Book book; - book.updateFromXml(xml.child("book"), ""); - EXPECT_EQ(book.getCategory(), "category_defined_via_tags_only"); } { - const XMLDoc xml(R"( - - + const kiwix::Book book = makeBook(R"( + id="abcd" + category="category_defined_via_attribute_only" )"); - kiwix::Book book; - book.updateFromXml(xml.child("book"), ""); - EXPECT_EQ(book.getCategory(), "category_defined_via_attribute_only"); } { - const XMLDoc xml(R"( - - + const kiwix::Book book = makeBook(R"( + id="abcd" + category="category_attribute_overrides_tags" + tags="_category:tags_override_category_attribute" )"); - kiwix::Book book; - book.updateFromXml(xml.child("book"), ""); - EXPECT_EQ(book.getCategory(), "category_attribute_overrides_tags"); } { - const XMLDoc xml(R"( - - + const kiwix::Book book = makeBook(R"( + id="abcd" + tags="_category:tags_override_category_attribute" + category="category_attribute_overrides_tags" )"); - kiwix::Book book; - book.updateFromXml(xml.child("book"), ""); - EXPECT_EQ(book.getCategory(), "category_attribute_overrides_tags"); } } @@ -126,10 +119,7 @@ TEST(BookTest, setTagsDoesntAffectCategory) TEST(BookTest, updateCopiesCategory) { - const XMLDoc xml(R"()"); - - kiwix::Book book; - book.updateFromXml(xml.child("book"), ""); + const kiwix::Book book = makeBook(R"(id="abcd" category="ted")"); kiwix::Book newBook; newBook.setId("abcd"); @@ -140,20 +130,15 @@ TEST(BookTest, updateCopiesCategory) TEST(BookTest, updateTest) { - const XMLDoc xml(R"( - - - )"); - - kiwix::Book book; - book.updateFromXml(xml.child("book"), "/data/zim"); + kiwix::Book book = makeBook(R"( + id="xyz" + path="/home/user/Downloads/skin-of-color-society_en_all_2019-11.zim" + url="book-url" + name="skin-of-color-society_en_all" + tags="youtube;_videos:yes;_ftindex:yes;_ftindex:yes;_pictures:yes;_details:yes" + favicon="Ym9vay1mYXZpY29u" + faviconMimeType="book-favicon-mimetype" + )", "/data/zim"); book.setReadOnly(false); book.setPathValid(true);