update book even if the members aren't empty

remove the conditions to always update the book
This commit is contained in:
luddens 2020-01-07 14:54:49 +01:00 committed by Matthieu Gautier
parent fa091a19c6
commit ff21a095cb
3 changed files with 42 additions and 22 deletions

View File

@ -45,28 +45,14 @@ bool Book::update(const kiwix::Book& other)
return false;
m_readOnly = other.m_readOnly;
m_path = other.m_path;
m_pathValid = other.m_pathValid;
m_url = other.m_url;
m_tags = other.m_tags;
m_name = other.m_name;
m_favicon = other.m_favicon;
m_faviconMimeType = other.m_faviconMimeType;
if (m_path.empty()) {
m_path = other.m_path;
m_pathValid = other.m_pathValid;
}
if (m_url.empty()) {
m_url = other.m_url;
}
if (m_tags.empty()) {
m_tags = other.m_tags;
}
if (m_name.empty()) {
m_name = other.m_name;
}
if (m_faviconMimeType.empty()) {
m_favicon = other.m_favicon;
m_faviconMimeType = other.m_faviconMimeType;
}
return true;
}

33
test/book.cpp Normal file
View File

@ -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());
}

View File

@ -7,7 +7,8 @@ tests = [
'tagParsing',
'stringTools',
'pathTools',
'kiwixserve'
'kiwixserve',
'book'
]