mirror of https://github.com/kiwix/libkiwix.git
update book even if the members aren't empty
remove the conditions to always update the book
This commit is contained in:
parent
fa091a19c6
commit
ff21a095cb
16
src/book.cpp
16
src/book.cpp
|
@ -45,28 +45,14 @@ bool Book::update(const kiwix::Book& other)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
m_readOnly = other.m_readOnly;
|
m_readOnly = other.m_readOnly;
|
||||||
|
|
||||||
if (m_path.empty()) {
|
|
||||||
m_path = other.m_path;
|
m_path = other.m_path;
|
||||||
m_pathValid = other.m_pathValid;
|
m_pathValid = other.m_pathValid;
|
||||||
}
|
|
||||||
|
|
||||||
if (m_url.empty()) {
|
|
||||||
m_url = other.m_url;
|
m_url = other.m_url;
|
||||||
}
|
|
||||||
|
|
||||||
if (m_tags.empty()) {
|
|
||||||
m_tags = other.m_tags;
|
m_tags = other.m_tags;
|
||||||
}
|
|
||||||
|
|
||||||
if (m_name.empty()) {
|
|
||||||
m_name = other.m_name;
|
m_name = other.m_name;
|
||||||
}
|
|
||||||
|
|
||||||
if (m_faviconMimeType.empty()) {
|
|
||||||
m_favicon = other.m_favicon;
|
m_favicon = other.m_favicon;
|
||||||
m_faviconMimeType = other.m_faviconMimeType;
|
m_faviconMimeType = other.m_faviconMimeType;
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
#include "gtest/gtest.h"
|
||||||
|
#include "../include/book.h"
|
||||||
|
|
||||||
|
TEST(BookTest, updateTest)
|
||||||
|
{
|
||||||
|
kiwix::Book book;
|
||||||
|
|
||||||
|
book.setReadOnly(false);
|
||||||
|
book.setPath("/home/user/Downloads/skin-of-color-society_en_all_2019-11.zim");
|
||||||
|
book.setPathValid(true);
|
||||||
|
book.setUrl("book-url");
|
||||||
|
book.setTags("youtube;_videos:yes;_ftindex:yes;_ftindex:yes;_pictures:yes;_details:yes");
|
||||||
|
book.setName("skin-of-color-society_en_all");
|
||||||
|
book.setFavicon("book-favicon");
|
||||||
|
book.setFaviconMimeType("book-favicon-mimetype");
|
||||||
|
|
||||||
|
kiwix::Book newBook;
|
||||||
|
|
||||||
|
newBook.setReadOnly(true);
|
||||||
|
EXPECT_FALSE(newBook.update(book));
|
||||||
|
|
||||||
|
newBook.setReadOnly(false);
|
||||||
|
EXPECT_TRUE(newBook.update(book));
|
||||||
|
|
||||||
|
EXPECT_EQ(newBook.readOnly(), book.readOnly());
|
||||||
|
EXPECT_EQ(newBook.getPath(), book.getPath());
|
||||||
|
EXPECT_EQ(newBook.isPathValid(), book.isPathValid());
|
||||||
|
EXPECT_EQ(newBook.getUrl(), book.getUrl());
|
||||||
|
EXPECT_EQ(newBook.getTags(), book.getTags());
|
||||||
|
EXPECT_EQ(newBook.getName(), book.getName());
|
||||||
|
EXPECT_EQ(newBook.getFavicon(), book.getFavicon());
|
||||||
|
EXPECT_EQ(newBook.getFaviconMimeType(), book.getFaviconMimeType());
|
||||||
|
}
|
|
@ -7,7 +7,8 @@ tests = [
|
||||||
'tagParsing',
|
'tagParsing',
|
||||||
'stringTools',
|
'stringTools',
|
||||||
'pathTools',
|
'pathTools',
|
||||||
'kiwixserve'
|
'kiwixserve',
|
||||||
|
'book'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue