From 699f96ca0d751dfbeb9f541849cdde24d54c9e3f Mon Sep 17 00:00:00 2001 From: Matthieu Gautier Date: Wed, 17 Jan 2024 17:25:34 +0100 Subject: [PATCH] Add book's flavour in bookmark. --- include/bookmark.h | 3 +++ src/bookmark.cpp | 1 + src/libxml_dumper.cpp | 2 ++ test/library.cpp | 3 +++ 4 files changed, 9 insertions(+) diff --git a/include/bookmark.h b/include/bookmark.h index 815e728d7..456fef0f8 100644 --- a/include/bookmark.h +++ b/include/bookmark.h @@ -43,6 +43,7 @@ class Bookmark const std::string& getBookId() const { return m_bookId; } const std::string& getBookTitle() const { return m_bookTitle; } const std::string& getBookName() const { return m_bookName; } + const std::string& getBookFlavour() const { return m_bookFlavour; } const std::string& getUrl() const { return m_url; } const std::string& getTitle() const { return m_title; } const std::string& getLanguage() const { return m_language; } @@ -51,6 +52,7 @@ class Bookmark void setBookId(const std::string& bookId) { m_bookId = bookId; } void setBookTitle(const std::string& bookTitle) { m_bookTitle = bookTitle; } void setBookName(const std::string& bookName) { m_bookName = bookName; } + void setBookFlavour(const std::string& bookFlavour) { m_bookFlavour = bookFlavour; } void setUrl(const std::string& url) { m_url = url; } void setTitle(const std::string& title) { m_title = title; } void setLanguage(const std::string& language) { m_language = language; } @@ -60,6 +62,7 @@ class Bookmark std::string m_bookId; std::string m_bookTitle; std::string m_bookName; + std::string m_bookFlavour; std::string m_url; std::string m_title; std::string m_language; diff --git a/src/bookmark.cpp b/src/bookmark.cpp index 54a65deb9..6bfe79bbb 100644 --- a/src/bookmark.cpp +++ b/src/bookmark.cpp @@ -39,6 +39,7 @@ void Bookmark::updateFromXml(const pugi::xml_node& node) m_bookId = bookNode.child("id").child_value(); m_bookTitle = bookNode.child("title").child_value(); m_bookName = bookNode.child("name").child_value(); + m_bookFlavour = bookNode.child("flavour").child_value(); m_language = bookNode.child("language").child_value(); m_date = bookNode.child("date").child_value(); m_title = node.child("title").child_value(); diff --git a/src/libxml_dumper.cpp b/src/libxml_dumper.cpp index 1e22b5b41..88a2fd054 100644 --- a/src/libxml_dumper.cpp +++ b/src/libxml_dumper.cpp @@ -98,12 +98,14 @@ void LibXMLDumper::handleBookmark(Bookmark bookmark, pugi::xml_node root_node) { ADD_TEXT_ENTRY(book_node, "id", book.getId()); ADD_TEXT_ENTRY(book_node, "title", book.getTitle()); ADD_TEXT_ENTRY(book_node, "name", book.getName()); + ADD_TEXT_ENTRY(book_node, "flavour", book.getFlavour()); ADD_TEXT_ENTRY(book_node, "language", book.getCommaSeparatedLanguages()); ADD_TEXT_ENTRY(book_node, "date", book.getDate()); } catch (...) { ADD_TEXT_ENTRY(book_node, "id", bookmark.getBookId()); ADD_TEXT_ENTRY(book_node, "title", bookmark.getBookTitle()); ADD_TEXT_ENTRY(book_node, "name", bookmark.getBookName()); + ADD_TEXT_ENTRY(book_node, "flavour", bookmark.getBookFlavour()); ADD_TEXT_ENTRY(book_node, "language", bookmark.getLanguage()); ADD_TEXT_ENTRY(book_node, "date", bookmark.getDate()); } diff --git a/test/library.cpp b/test/library.cpp index 21733209c..c684e1d68 100644 --- a/test/library.cpp +++ b/test/library.cpp @@ -402,6 +402,7 @@ TEST_F(LibraryTest, bookmarksSerializationTest) EXPECT_EQ(bookmark1.getBookId(), bookId1); EXPECT_EQ(bookmark1.getBookTitle(), book1.getTitle()); EXPECT_EQ(bookmark1.getBookName(), book1.getName()); + EXPECT_EQ(bookmark1.getBookFlavour(), book1.getFlavour()); EXPECT_EQ(bookmark1.getUrl(), "a/url"); EXPECT_EQ(bookmark1.getTitle(), "Article title1"); EXPECT_EQ(bookmark1.getLanguage(), book1.getCommaSeparatedLanguages()); @@ -411,6 +412,7 @@ TEST_F(LibraryTest, bookmarksSerializationTest) EXPECT_EQ(bookmark2.getBookId(), "invalid-book-id"); EXPECT_EQ(bookmark2.getBookTitle(), ""); EXPECT_EQ(bookmark2.getBookName(), ""); + EXPECT_EQ(bookmark2.getBookFlavour(), ""); EXPECT_EQ(bookmark2.getUrl(), "another/url"); EXPECT_EQ(bookmark2.getTitle(), "Unknown title"); EXPECT_EQ(bookmark2.getLanguage(), ""); @@ -420,6 +422,7 @@ TEST_F(LibraryTest, bookmarksSerializationTest) EXPECT_EQ(bookmark3.getBookId(), bookId2); EXPECT_EQ(bookmark3.getBookTitle(), book2.getTitle()); EXPECT_EQ(bookmark3.getBookName(), book2.getName()); + EXPECT_EQ(bookmark3.getBookFlavour(), book2.getFlavour()); EXPECT_EQ(bookmark3.getUrl(), "a/url/2"); EXPECT_EQ(bookmark3.getTitle(), "Article title2"); EXPECT_EQ(bookmark3.getLanguage(), book2.getCommaSeparatedLanguages());