add mocks to target

This commit is contained in:
Wieczorek Bartosz 2017-03-22 19:18:42 +01:00
parent 6656d2da02
commit ddc8746165
5 changed files with 60 additions and 4 deletions

View File

@ -2,14 +2,36 @@
#include <eedb/data/Category.hpp> #include <eedb/data/Category.hpp>
#include <Wt/WContainerWidget>
#include <Wt/WTreeView>
namespace std {
template <>
struct default_delete< Wt::WTreeView > {
void operator()(Wt::WTreeView * ptr) {
if(ptr && !ptr->parent())
delete ptr;
}
};
}
namespace eedb { namespace eedb {
struct DefaultCategoriesTree::DefaultCategoriesTreePriv {}; struct DefaultCategoriesTree::DefaultCategoriesTreePriv {
DefaultCategoriesTreePriv() : tree(std::make_unique< Wt::WTreeView >()) {
tree->setObjectName("categories_tree");
}
std::unique_ptr< Wt::WTreeView > tree;
};
DefaultCategoriesTree::DefaultCategoriesTree() : _priv(std::make_unique< DefaultCategoriesTreePriv >()) {} DefaultCategoriesTree::DefaultCategoriesTree() : _priv(std::make_unique< DefaultCategoriesTreePriv >()) {}
DefaultCategoriesTree::~DefaultCategoriesTree() = default; DefaultCategoriesTree::~DefaultCategoriesTree() = default;
void DefaultCategoriesTree::attachTo(Wt::WContainerWidget * parent) {} void DefaultCategoriesTree::attachTo(Wt::WContainerWidget * parent) {
parent->addWidget(_priv->tree.get());
}
void DefaultCategoriesTree::registerOnCategoryChanged(std::function< void(const Category &) >) {} void DefaultCategoriesTree::registerOnCategoryChanged(std::function< void(const Category &) >) {}
} }

View File

@ -0,0 +1,10 @@
cmake_minimum_required(VERSION 3.0.2)
project(Mocks)
set(TEST_EXECUTABLE_NAME eedb_test_mocks )
#add test files
file(GLOB_RECURSE TEST_FILES *.h* *.cpp )
add_library(${TEST_EXECUTABLE_NAME} ${TEST_FILES})
set_target_properties(${TEST_EXECUTABLE_NAME} PROPERTIES LINKER_LANGUAGE CXX)

2
tests/mocks/dummy.cpp Normal file
View File

@ -0,0 +1,2 @@
// added only to make cmake happy :(
///@todo remove if can

View File

@ -3,9 +3,9 @@ cmake_minimum_required(VERSION 3.0.2)
project(Tests LANGUAGES CXX) project(Tests LANGUAGES CXX)
include_directories( . ) include_directories( . )
include_directories( ${eedb_app_SOURCE_DIR} )
include_directories( ../../share )
include_directories( ../ ) include_directories( ../ )
include_directories( ../../share )
include_directories( ${eedb_app_SOURCE_DIR} )
include_directories( ${gtest_SOURCE_DIR}/include) include_directories( ${gtest_SOURCE_DIR}/include)
include_directories( ${gmock_SOURCE_DIR}/include) include_directories( ${gmock_SOURCE_DIR}/include)

View File

@ -0,0 +1,22 @@
#include "WidgetTest.hpp"
#include <eedb/widgets/DefaultCategoryTree.hpp>
#include <Wt/WTreeView>
class CategoriesTreeTest : public WidgetTest {
public:
CategoriesTreeTest() : WidgetTest(), sut(std::make_unique< eedb::DefaultCategoriesTree >()) {
sut->attachTo(app.root());
}
auto find_tree() {
return ut_find< Wt::WTreeView >("categories_tree");
}
protected:
std::unique_ptr< eedb::DefaultCategoriesTree > sut;
};
TEST_F(CategoriesTreeTest, hasElements) {
find_tree();
}