Merge branch 'devel/master' into sandbox/dkdk/tizen
[platform/core/uifw/dali-adaptor.git] / automated-tests / src / dali-adaptor / utc-Dali-Watch.cpp
1 /*
2  * Copyright (c) 2014 Samsung Electronics Co., Ltd.
3  *
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
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  *
16  */
17
18 #include <dali-test-suite-utils.h>
19 #include <dali/dali.h>
20
21 using namespace Dali;
22
23 void utc_dali_watchapplication_startup(void)
24 {
25   test_return_value = TET_UNDEF;
26 }
27
28 void utc_dali_watchapplication_cleanup(void)
29 {
30   test_return_value = TET_PASS;
31 }
32
33 namespace
34 {
35 struct MyTestApp : public ConnectionTracker
36 {
37   MyTestApp(WatchApplication& app)
38   : initCalled(false),
39     mApplication(app)
40   {
41     mApplication.InitSignal().Connect(this, &MyTestApp::Create);
42   }
43
44   void Create(Application& app)
45   {
46     initCalled = true;
47   }
48
49   void Quit()
50   {
51     mApplication.Quit();
52   }
53
54   // Data
55   bool              initCalled;
56   WatchApplication& mApplication;
57 };
58
59 void WatchTimeSignalCallback(Application& app, const WatchTime& time)
60 {
61 }
62
63 void WatchChangedSignalCallback(Application& app, bool ambient)
64 {
65 }
66
67 } // unnamed namespace
68
69 int UtcDaliWatchApplicationNew01(void)
70 {
71   WatchApplication application = WatchApplication::New();
72
73   MyTestApp testApp(application);
74
75   DALI_TEST_CHECK(application);
76
77   END_TEST;
78 }
79
80 int UtcDaliWatchApplicationNew02(void)
81 {
82   int         argc(1);
83   const char* argList[1] = {"program"};
84   char**      argv       = const_cast<char**>(argList);
85
86   WatchApplication application = WatchApplication::New(&argc, &argv);
87
88   MyTestApp testApp(application);
89
90   DALI_TEST_CHECK(application);
91
92   END_TEST;
93 }
94
95 int UtcDaliWatchApplicationNew03(void)
96 {
97   int         argc(1);
98   const char* argList[1] = {"program"};
99   char**      argv       = const_cast<char**>(argList);
100
101   WatchApplication application = WatchApplication::New(&argc, &argv, "stylesheet");
102
103   MyTestApp testApp(application);
104
105   DALI_TEST_CHECK(application);
106
107   END_TEST;
108 }
109
110 int UtcDaliWatchApplicationCopyAndAssignment(void)
111 {
112   WatchApplication application = WatchApplication::New();
113   WatchApplication copy(application);
114   DALI_TEST_CHECK(copy == application);
115
116   WatchApplication assigned;
117   DALI_TEST_CHECK(!assigned);
118   assigned = application;
119   DALI_TEST_CHECK(copy == assigned);
120
121   END_TEST;
122 }
123
124 int UtcDaliWatchApplicationTimeTickSignalP(void)
125 {
126   WatchApplication application = WatchApplication::New();
127   application.TimeTickSignal().Connect(&WatchTimeSignalCallback);
128   DALI_TEST_CHECK(application);
129
130   END_TEST;
131 }
132
133 int UtcDaliWatchApplicationTimeTickSignalN(void)
134 {
135   WatchApplication application;
136
137   try
138   {
139     application.TimeTickSignal().Connect(&WatchTimeSignalCallback);
140     DALI_TEST_CHECK(false); // Should not get here
141   }
142   catch(...)
143   {
144     DALI_TEST_CHECK(true);
145   }
146
147   END_TEST;
148 }
149
150 int UtcDaliWatchApplicationAmbientTickSignalP(void)
151 {
152   WatchApplication application = WatchApplication::New();
153   application.AmbientTickSignal().Connect(&WatchTimeSignalCallback);
154   DALI_TEST_CHECK(application);
155
156   END_TEST;
157 }
158
159 int UtcDaliWatchApplicationAmbientTickSignalN(void)
160 {
161   WatchApplication application;
162
163   try
164   {
165     application.AmbientTickSignal().Connect(&WatchTimeSignalCallback);
166     DALI_TEST_CHECK(false); // Should not get here
167   }
168   catch(...)
169   {
170     DALI_TEST_CHECK(true);
171   }
172
173   END_TEST;
174 }
175
176 int UtcDaliWatchApplicationAmbientChangedSignalP(void)
177 {
178   WatchApplication application = WatchApplication::New();
179   application.AmbientChangedSignal().Connect(&WatchChangedSignalCallback);
180   DALI_TEST_CHECK(application);
181
182   END_TEST;
183 }
184
185 int UtcDaliWatchApplicationAmbientChangedSignalN(void)
186 {
187   WatchApplication application;
188
189   try
190   {
191     application.AmbientChangedSignal().Connect(&WatchChangedSignalCallback);
192     DALI_TEST_CHECK(false); // Should not get here
193   }
194   catch(...)
195   {
196     DALI_TEST_CHECK(true);
197   }
198
199   END_TEST;
200 }