2 * Copyright (c) 2020 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #include <gtest/gtest.h>
18 #include <gmock/gmock.h>
21 #include "include/widget_errno.h"
22 #include "include/widget_instance.h"
23 #include "include/widget_service_internal.h"
24 #include "mock/tzplatform_config_mock.h"
25 #include "mock/db_mock.h"
26 #include "mock/aul_mock.h"
30 const char *__fake_tzplatform_mkpath(enum tzplatform_variable id, const char *path) {
34 int __fake_aul_launch_app_async(const char *appid, bundle *kb) {
38 int __fake_aul_app_com_create(const char *endpoint, aul_app_com_permission_h permission,
39 app_com_cb callback, void *user_data, aul_app_com_connection_h *connection) {
40 static int __not_null;
41 *connection = (aul_app_com_connection_h)&__not_null;
45 int __fake_aul_app_com_leave(aul_app_com_connection_h connection) {
49 int __fake_aul_widget_instance_update(const char *widget_id, const char *instance_id, bundle *b) {
53 int __fake_aul_debug_info_init() {
57 int __fake_aul_debug_info_set(bundle *src, bundle *dst) {
61 class WidgetInstanceTest : public ::testing::Test {
63 virtual void SetUp() {
64 tzplatform_mkpath_fake.custom_fake = __fake_tzplatform_mkpath;
65 aul_launch_app_async_fake.custom_fake= __fake_aul_launch_app_async;
66 aul_app_com_create_fake.custom_fake = __fake_aul_app_com_create;
67 aul_app_com_leave_fake.custom_fake = __fake_aul_app_com_leave;
68 aul_widget_instance_update_fake.custom_fake = __fake_aul_widget_instance_update;
69 aul_debug_info_init_fake.custom_fake = __fake_aul_debug_info_init;
70 aul_debug_info_set_fake.custom_fake = __fake_aul_debug_info_set;
72 virtual void TearDown() {
76 TEST_F(WidgetInstanceTest, InstanceInit) {
79 ret = widget_instance_init("org.tizen.test_viewer");
83 char *instance_id = NULL;
85 TEST_F(WidgetInstanceTest, InstanceCreate) {
88 ret = widget_instance_create("org.tizen.test_widget", &instance_id);
92 TEST_F(WidgetInstanceTest, InstanceLaunch) {
95 ret = widget_instance_launch(instance_id, (char *)"TestContent", 4, 2);
99 TEST_F(WidgetInstanceTest, InstanceResume) {
102 ret = widget_instance_resume(instance_id);
106 TEST_F(WidgetInstanceTest, InstancePause) {
109 ret = widget_instance_pause(instance_id);
113 TEST_F(WidgetInstanceTest, InstanceResize) {
116 ret = widget_instance_resize(instance_id, 4, 2);
120 widget_instance_h ins;
122 int _widget_instance_foreach_cb(widget_instance_h instance, void *data) {
126 TEST_F(WidgetInstanceTest, InstanceForeach) {
129 ret = widget_instance_foreach("org.tizen.test_widget", _widget_instance_foreach_cb, NULL);
133 TEST_F(WidgetInstanceTest, InstanceGetInstance) {
134 widget_instance_h instance = nullptr;
136 instance = widget_instance_get_instance("org.tizen.test_widget", instance_id);
137 ASSERT_NE(instance, nullptr);
142 TEST_F(WidgetInstanceTest, InstanceGetId) {
146 ret = widget_instance_get_id(ins, &id);
150 TEST_F(WidgetInstanceTest, InstanceGetContent) {
152 char *content = NULL;
154 ret = widget_instance_get_content(ins, &content);
158 TEST_F(WidgetInstanceTest, InstanceGetWidth) {
162 ret = widget_instance_get_width(ins, &w);
166 TEST_F(WidgetInstanceTest, InstanceGetHeight) {
170 ret = widget_instance_get_height(ins, &h);
174 TEST_F(WidgetInstanceTest, InstanceSetPeriod) {
177 ret = widget_instance_set_period(ins, 3.0);
181 TEST_F(WidgetInstanceTest, InstanceGetPeriod) {
185 ret = widget_instance_get_period(ins, &period);
189 TEST_F(WidgetInstanceTest, InstanceGetErr) {
193 ret = widget_instance_get_error_code(ins, &err);
197 int _widget_instance_list_cb(const char *widget_id, const char *instance_id, void *user_data) {
201 TEST_F(WidgetInstanceTest, InstanceGetList) {
204 ret = widget_instance_get_instance_list("org.tizen.test_widget", _widget_instance_list_cb, NULL);
208 TEST_F(WidgetInstanceTest, InstanceChangePeriod) {
211 ret = widget_instance_change_period("org.tizen.test_widget", instance_id, 5.0);
215 TEST_F(WidgetInstanceTest, InstanceTriggerUpdate) {
218 ret = widget_instance_trigger_update(ins, "ContentInfo", 1);
222 int _widget_instance_event_cb(const char *widget_id, const char *instance_id, int event, void *data) {
226 TEST_F(WidgetInstanceTest, InstanceListenEvent) {
229 ret = widget_instance_listen_event(_widget_instance_event_cb, NULL);
233 TEST_F(WidgetInstanceTest, InstanceUnlistenEvent) {
236 ret = widget_instance_unlisten_event(_widget_instance_event_cb);
240 TEST_F(WidgetInstanceTest, InstanceListenStatus) {
243 ret = widget_instance_listen_status("org.tizen.test_widget", _widget_instance_event_cb, NULL);
247 TEST_F(WidgetInstanceTest, InstanceUnlistenStatus) {
250 ret = widget_instance_unlisten_status("org.tizen.test_widget");
254 TEST_F(WidgetInstanceTest, InstanceTriggerUpdateV2) {
257 ret = widget_instance_trigger_update_v2("org.tizen.test_widget", instance_id, "ContetnInfo", 1);
262 TEST_F(WidgetInstanceTest, InstanceSetSdkUtil) {
267 bundle_add_str(b, "__AUL_SDK__", "SdkUtil");
269 ret = widget_service_set_sdk_util(b);
275 TEST_F(WidgetInstanceTest, InstanceRefUnref) {
276 widget_instance_h instance = nullptr;
278 instance = widget_instance_ref(ins);
279 ASSERT_NE(instance, nullptr);
281 widget_instance_unref(instance);
284 TEST_F(WidgetInstanceTest, InstanceTerminate) {
287 ret = widget_instance_terminate(instance_id);
291 TEST_F(WidgetInstanceTest, InstanceDestroy) {
294 ret = widget_instance_destroy(instance_id);
298 TEST_F(WidgetInstanceTest, InstanceFini) {
301 ret = widget_instance_fini();