diff options
author | krzys-h <krzys_h@interia.pl> | 2013-03-28 16:00:09 +0100 |
---|---|---|
committer | krzys-h <krzys_h@interia.pl> | 2013-03-28 16:00:09 +0100 |
commit | 85dcc51434629adab3d523d3e1ec3cf1173002ec (patch) | |
tree | cb84061a43fd6316e9d834d64c94b9d1a1bb4d43 /test/unit | |
parent | b284fd74f32d31fa287e1e62800c122c2d1efd9d (diff) | |
parent | 212f2e41f88a85ad7f47bc526b79fae2b4952d3a (diff) | |
download | colobot-85dcc51434629adab3d523d3e1ec3cf1173002ec.tar.gz colobot-85dcc51434629adab3d523d3e1ec3cf1173002ec.tar.bz2 colobot-85dcc51434629adab3d523d3e1ec3cf1173002ec.zip |
Merge branch 'dev' of github.com:colobot/colobot into dev
Diffstat (limited to 'test/unit')
-rw-r--r-- | test/unit/ui/CMakeLists.txt | 54 | ||||
-rw-r--r-- | test/unit/ui/edit_test.cpp | 13 | ||||
-rw-r--r-- | test/unit/ui/mocks/text_mock.h | 3 | ||||
-rw-r--r-- | test/unit/ui/stubs/robotmain_stub.cpp | 8 |
4 files changed, 54 insertions, 24 deletions
diff --git a/test/unit/ui/CMakeLists.txt b/test/unit/ui/CMakeLists.txt index b0d9ce2..c899834 100644 --- a/test/unit/ui/CMakeLists.txt +++ b/test/unit/ui/CMakeLists.txt @@ -7,25 +7,35 @@ ${GTEST_INCLUDE_DIR} ${GMOCK_INCLUDE_DIR} ) -# add_executable(edit_test -# ${SRC_DIR}/common/event.cpp -# ${SRC_DIR}/common/logger.cpp -# ${SRC_DIR}/common/misc.cpp -# ${SRC_DIR}/common/profile.cpp -# ${SRC_DIR}/common/iman.cpp -# ${SRC_DIR}/common/stringutils.cpp -# ${SRC_DIR}/graphics/engine/text.cpp -# ${SRC_DIR}/ui/button.cpp -# ${SRC_DIR}/ui/control.cpp -# ${SRC_DIR}/ui/edit.cpp -# ${SRC_DIR}/ui/scroll.cpp -# stubs/app_stub.cpp -# stubs/engine_stub.cpp -# stubs/particle_stub.cpp -# stubs/restext_stub.cpp -# stubs/robotmain_stub.cpp -# edit_test.cpp) -# target_link_libraries(edit_test gtest gmock ${SDL_LIBRARY} ${SDLTTF_LIBRARY} ${Boost_LIBRARIES}) -# -# TODO: Edit test doesn't work, comment it away for now -# add_test(edit_test ./edit_test) +# Platform-dependent implementation of CSystemUtils +if (${PLATFORM_WINDOWS}) + set(SYSTEM_CPP_MODULE "system_windows.cpp") +elseif(${PLATFORM_LINUX}) + set(SYSTEM_CPP_MODULE "system_linux.cpp") +else() + set(SYSTEM_CPP_MODULE "system_other.cpp") +endif() + +add_executable(edit_test +${SRC_DIR}/app/system.cpp +${SRC_DIR}/app/${SYSTEM_CPP_MODULE} +${SRC_DIR}/common/event.cpp +${SRC_DIR}/common/logger.cpp +${SRC_DIR}/common/misc.cpp +${SRC_DIR}/common/profile.cpp +${SRC_DIR}/common/iman.cpp +${SRC_DIR}/common/stringutils.cpp +${SRC_DIR}/graphics/engine/text.cpp +${SRC_DIR}/ui/button.cpp +${SRC_DIR}/ui/control.cpp +${SRC_DIR}/ui/edit.cpp +${SRC_DIR}/ui/scroll.cpp +stubs/app_stub.cpp +stubs/engine_stub.cpp +stubs/particle_stub.cpp +stubs/restext_stub.cpp +stubs/robotmain_stub.cpp +edit_test.cpp) +target_link_libraries(edit_test gtest gmock ${SDL_LIBRARY} ${SDLTTF_LIBRARY} ${Boost_LIBRARIES}) + +add_test(edit_test ./edit_test) diff --git a/test/unit/ui/edit_test.cpp b/test/unit/ui/edit_test.cpp index 2f31a89..428b66a 100644 --- a/test/unit/ui/edit_test.cpp +++ b/test/unit/ui/edit_test.cpp @@ -9,10 +9,16 @@ class CEditTest : public testing::Test { public: - CEditTest(){}; + CEditTest() + : m_robotMain(nullptr) + , m_engine(nullptr) + , m_edit(nullptr) + {} virtual void SetUp() { + m_robotMain = new CRobotMain(&m_app); + m_engine = new Gfx::CEngine(nullptr); m_edit = new Ui::CEdit; @@ -20,6 +26,8 @@ public: virtual void TearDown() { + delete m_robotMain; + m_robotMain = nullptr; delete m_engine; m_engine = nullptr; delete m_edit; @@ -33,6 +41,7 @@ public: protected: CApplication m_app; + CRobotMain* m_robotMain; Gfx::CEngine * m_engine; Ui::CEdit * m_edit; CLogger m_logger; @@ -46,7 +55,7 @@ TEST_F(CEditTest, WriteTest) ASSERT_TRUE(true); CTextMock * text = dynamic_cast<CTextMock *>(m_engine->GetText()); EXPECT_CALL(*text, GetCharWidth(_, _, _, _)).WillRepeatedly(Return(1.0f)); - EXPECT_CALL(*text, GetStringWidth(_, _, _)).WillOnce(Return(1.0f)); + EXPECT_CALL(*text, GetStringWidth(_, _, _, _)).WillOnce(Return(1.0f)); std::string filename = "test.file"; m_edit->SetMaxChar(Ui::EDITSTUDIOMAX); m_edit->SetAutoIndent(true); diff --git a/test/unit/ui/mocks/text_mock.h b/test/unit/ui/mocks/text_mock.h index 9289481..f38b977 100644 --- a/test/unit/ui/mocks/text_mock.h +++ b/test/unit/ui/mocks/text_mock.h @@ -16,6 +16,9 @@ public: }; MOCK_METHOD4(GetCharWidth, float(Gfx::UTF8Char, Gfx::FontType, float, float)); + MOCK_METHOD4(GetStringWidth, float(const std::string &text, + std::vector<Gfx::FontMetaChar>::iterator format, + std::vector<Gfx::FontMetaChar>::iterator end, float size)); MOCK_METHOD3(GetStringWidth, float(const std::string &, Gfx::FontType, float)); }; diff --git a/test/unit/ui/stubs/robotmain_stub.cpp b/test/unit/ui/stubs/robotmain_stub.cpp index c332d5a..7988e9d 100644 --- a/test/unit/ui/stubs/robotmain_stub.cpp +++ b/test/unit/ui/stubs/robotmain_stub.cpp @@ -3,6 +3,14 @@ template<> CRobotMain* CSingleton<CRobotMain>::m_instance = nullptr; +CRobotMain::CRobotMain(CApplication* app) +{ +} + +CRobotMain::~CRobotMain() +{ +} + bool CRobotMain::GetGlint() { return false; |