mirror of https://github.com/kiwix/libkiwix.git
Also store book's name in bookmark.
This commit is contained in:
parent
903f476f77
commit
5a0644d32b
|
@ -42,6 +42,7 @@ class Bookmark
|
||||||
|
|
||||||
const std::string& getBookId() const { return m_bookId; }
|
const std::string& getBookId() const { return m_bookId; }
|
||||||
const std::string& getBookTitle() const { return m_bookTitle; }
|
const std::string& getBookTitle() const { return m_bookTitle; }
|
||||||
|
const std::string& getBookName() const { return m_bookName; }
|
||||||
const std::string& getUrl() const { return m_url; }
|
const std::string& getUrl() const { return m_url; }
|
||||||
const std::string& getTitle() const { return m_title; }
|
const std::string& getTitle() const { return m_title; }
|
||||||
const std::string& getLanguage() const { return m_language; }
|
const std::string& getLanguage() const { return m_language; }
|
||||||
|
@ -49,6 +50,7 @@ class Bookmark
|
||||||
|
|
||||||
void setBookId(const std::string& bookId) { m_bookId = bookId; }
|
void setBookId(const std::string& bookId) { m_bookId = bookId; }
|
||||||
void setBookTitle(const std::string& bookTitle) { m_bookTitle = bookTitle; }
|
void setBookTitle(const std::string& bookTitle) { m_bookTitle = bookTitle; }
|
||||||
|
void setBookName(const std::string& bookName) { m_bookName = bookName; }
|
||||||
void setUrl(const std::string& url) { m_url = url; }
|
void setUrl(const std::string& url) { m_url = url; }
|
||||||
void setTitle(const std::string& title) { m_title = title; }
|
void setTitle(const std::string& title) { m_title = title; }
|
||||||
void setLanguage(const std::string& language) { m_language = language; }
|
void setLanguage(const std::string& language) { m_language = language; }
|
||||||
|
@ -57,6 +59,7 @@ class Bookmark
|
||||||
protected:
|
protected:
|
||||||
std::string m_bookId;
|
std::string m_bookId;
|
||||||
std::string m_bookTitle;
|
std::string m_bookTitle;
|
||||||
|
std::string m_bookName;
|
||||||
std::string m_url;
|
std::string m_url;
|
||||||
std::string m_title;
|
std::string m_title;
|
||||||
std::string m_language;
|
std::string m_language;
|
||||||
|
|
|
@ -38,6 +38,7 @@ void Bookmark::updateFromXml(const pugi::xml_node& node)
|
||||||
auto bookNode = node.child("book");
|
auto bookNode = node.child("book");
|
||||||
m_bookId = bookNode.child("id").child_value();
|
m_bookId = bookNode.child("id").child_value();
|
||||||
m_bookTitle = bookNode.child("title").child_value();
|
m_bookTitle = bookNode.child("title").child_value();
|
||||||
|
m_bookName = bookNode.child("name").child_value();
|
||||||
m_language = bookNode.child("language").child_value();
|
m_language = bookNode.child("language").child_value();
|
||||||
m_date = bookNode.child("date").child_value();
|
m_date = bookNode.child("date").child_value();
|
||||||
m_title = node.child("title").child_value();
|
m_title = node.child("title").child_value();
|
||||||
|
|
|
@ -97,11 +97,13 @@ void LibXMLDumper::handleBookmark(Bookmark bookmark, pugi::xml_node root_node) {
|
||||||
auto book = library->getBookByIdThreadSafe(bookmark.getBookId());
|
auto book = library->getBookByIdThreadSafe(bookmark.getBookId());
|
||||||
ADD_TEXT_ENTRY(book_node, "id", book.getId());
|
ADD_TEXT_ENTRY(book_node, "id", book.getId());
|
||||||
ADD_TEXT_ENTRY(book_node, "title", book.getTitle());
|
ADD_TEXT_ENTRY(book_node, "title", book.getTitle());
|
||||||
|
ADD_TEXT_ENTRY(book_node, "name", book.getName());
|
||||||
ADD_TEXT_ENTRY(book_node, "language", book.getCommaSeparatedLanguages());
|
ADD_TEXT_ENTRY(book_node, "language", book.getCommaSeparatedLanguages());
|
||||||
ADD_TEXT_ENTRY(book_node, "date", book.getDate());
|
ADD_TEXT_ENTRY(book_node, "date", book.getDate());
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
ADD_TEXT_ENTRY(book_node, "id", bookmark.getBookId());
|
ADD_TEXT_ENTRY(book_node, "id", bookmark.getBookId());
|
||||||
ADD_TEXT_ENTRY(book_node, "title", bookmark.getBookTitle());
|
ADD_TEXT_ENTRY(book_node, "title", bookmark.getBookTitle());
|
||||||
|
ADD_TEXT_ENTRY(book_node, "name", bookmark.getBookName());
|
||||||
ADD_TEXT_ENTRY(book_node, "language", bookmark.getLanguage());
|
ADD_TEXT_ENTRY(book_node, "language", bookmark.getLanguage());
|
||||||
ADD_TEXT_ENTRY(book_node, "date", bookmark.getDate());
|
ADD_TEXT_ENTRY(book_node, "date", bookmark.getDate());
|
||||||
}
|
}
|
||||||
|
|
|
@ -401,6 +401,7 @@ TEST_F(LibraryTest, bookmarksSerializationTest)
|
||||||
auto bookmark1 = allBookmarks[0];
|
auto bookmark1 = allBookmarks[0];
|
||||||
EXPECT_EQ(bookmark1.getBookId(), bookId1);
|
EXPECT_EQ(bookmark1.getBookId(), bookId1);
|
||||||
EXPECT_EQ(bookmark1.getBookTitle(), book1.getTitle());
|
EXPECT_EQ(bookmark1.getBookTitle(), book1.getTitle());
|
||||||
|
EXPECT_EQ(bookmark1.getBookName(), book1.getName());
|
||||||
EXPECT_EQ(bookmark1.getUrl(), "a/url");
|
EXPECT_EQ(bookmark1.getUrl(), "a/url");
|
||||||
EXPECT_EQ(bookmark1.getTitle(), "Article title1");
|
EXPECT_EQ(bookmark1.getTitle(), "Article title1");
|
||||||
EXPECT_EQ(bookmark1.getLanguage(), book1.getCommaSeparatedLanguages());
|
EXPECT_EQ(bookmark1.getLanguage(), book1.getCommaSeparatedLanguages());
|
||||||
|
@ -409,6 +410,7 @@ TEST_F(LibraryTest, bookmarksSerializationTest)
|
||||||
auto bookmark2 = allBookmarks[1];
|
auto bookmark2 = allBookmarks[1];
|
||||||
EXPECT_EQ(bookmark2.getBookId(), "invalid-book-id");
|
EXPECT_EQ(bookmark2.getBookId(), "invalid-book-id");
|
||||||
EXPECT_EQ(bookmark2.getBookTitle(), "");
|
EXPECT_EQ(bookmark2.getBookTitle(), "");
|
||||||
|
EXPECT_EQ(bookmark2.getBookName(), "");
|
||||||
EXPECT_EQ(bookmark2.getUrl(), "another/url");
|
EXPECT_EQ(bookmark2.getUrl(), "another/url");
|
||||||
EXPECT_EQ(bookmark2.getTitle(), "Unknown title");
|
EXPECT_EQ(bookmark2.getTitle(), "Unknown title");
|
||||||
EXPECT_EQ(bookmark2.getLanguage(), "");
|
EXPECT_EQ(bookmark2.getLanguage(), "");
|
||||||
|
@ -417,6 +419,7 @@ TEST_F(LibraryTest, bookmarksSerializationTest)
|
||||||
auto bookmark3 = allBookmarks[2];
|
auto bookmark3 = allBookmarks[2];
|
||||||
EXPECT_EQ(bookmark3.getBookId(), bookId2);
|
EXPECT_EQ(bookmark3.getBookId(), bookId2);
|
||||||
EXPECT_EQ(bookmark3.getBookTitle(), book2.getTitle());
|
EXPECT_EQ(bookmark3.getBookTitle(), book2.getTitle());
|
||||||
|
EXPECT_EQ(bookmark3.getBookName(), book2.getName());
|
||||||
EXPECT_EQ(bookmark3.getUrl(), "a/url/2");
|
EXPECT_EQ(bookmark3.getUrl(), "a/url/2");
|
||||||
EXPECT_EQ(bookmark3.getTitle(), "Article title2");
|
EXPECT_EQ(bookmark3.getTitle(), "Article title2");
|
||||||
EXPECT_EQ(bookmark3.getLanguage(), book2.getCommaSeparatedLanguages());
|
EXPECT_EQ(bookmark3.getLanguage(), book2.getCommaSeparatedLanguages());
|
||||||
|
|
Loading…
Reference in New Issue