Change unittest package name and improves code coverage
[platform/core/appfw/appcore-widget.git] / test / unit_tests / test_widget_app_cpp.cc
index 8d5fca5..ec8ef39 100644 (file)
@@ -26,7 +26,6 @@
 #include "unit_tests/mock/aul_mock.h"
 #include "unit_tests/mock/ecore_wl2_mock.h"
 #include "unit_tests/mock/elm_mock.h"
-#include "unit_tests/mock/gio_mock.h"
 #include "unit_tests/mock/system_info_mock.h"
 #include "unit_tests/mock/test_fixture.h"
 #include "unit_tests/mock/widget_service_mock.h"
@@ -37,8 +36,7 @@ using ::testing::Invoke;
 using ::testing::Return;
 using ::testing::SetArgPointee;
 
-class Mocks : public ::testing::NiceMock<GioMock>,
-              public ::testing::NiceMock<MultiWindowBaseMock>,
+class Mocks : public ::testing::NiceMock<MultiWindowBaseMock>,
               public ::testing::NiceMock<AppCommonMock>,
               public ::testing::NiceMock<WidgetServiceMock>,
               public ::testing::NiceMock<ElmMock>,
@@ -63,12 +61,14 @@ class WidgetApp : public tizen_appfw::WidgetAppBase {
     };
 
     explicit Instance(widget_context_h h) : InstanceBase(h) {}
+/* LCOV_EXCL_START */
     void OnCreate(const tizen_base::Bundle& content, int w, int h) override {}
     void OnDestroy(DestroyType reason, tizen_base::Bundle* content) override {}
     void OnPause() override {}
     void OnResume() override {}
     void OnResize(int w, int h) override {}
     void OnUpdate(const tizen_base::Bundle& content, bool force) override {}
+/* LCOV_EXCL_STOP */
   };
 
   WidgetApp() {}
@@ -85,6 +85,23 @@ TEST_F(WidgetAppCppTest, Run_InvalidParameter) {
   std::unique_ptr<tizen_appfw::WidgetAppBase::InstanceBase::Factory> factory(
       new WidgetApp::Instance::Factory());
 
+  widget_context_h h = nullptr;
+  factory->Create(h);
+  app.OnCreate();
   int ret = app.Run(0, nullptr, std::move(factory));
   EXPECT_EQ(ret, APP_ERROR_INVALID_PARAMETER);
+  app.OnTerminate();
 }
+
+TEST_F(WidgetAppCppTest, NullInstance) {
+    EXPECT_CALL(GetMock<SystemInfoMock>(),
+        system_info_get_platform_bool(_, _)).
+            WillRepeatedly(DoAll(SetArgPointee<1>(true), Return(0)));
+
+  widget_context_h h = nullptr;
+  std::unique_ptr<tizen_appfw::WidgetAppBase::InstanceBase> inst(
+      new WidgetApp::Instance(h));
+
+  widget_context_h ret_h = inst->GetHandle();
+  EXPECT_EQ(ret_h, nullptr);
+}
\ No newline at end of file