Update change log and spec for wrt-plugins-tizen_0.4.69
[framework/web/wrt-plugins-tizen.git] / src / Power / test / TestPower.js
1 //
2 // Tizen Web Device API
3 // Copyright (c) 2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 // http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18 var TYPE_MISMATCH_ERR = 'TypeMismatchError';
19 var INVALID_VALUES_ERR = 'InvalidValuesError';
20 var NOT_SUPPORTED_ERR = 'NotSupportedError';
21 var NOT_FOUND_ERR = 'NotFoundError';
22 //var UNKNOWN_ERR = 'UnknownError';
23 //var PERMISSION_DENIED_ERR = 'PermissionDeniedError';
24
25 var ERROR_STR = "GG";
26
27 function UTC_power_module_presence_P_001()
28 {
29     TestEngine.log("UTC_power_module_presence_P_001");
30
31     TestEngine.test("Power manager presence", power);
32     TestEngine.testPresence("request presence", power.request);
33     TestEngine.testPresence("release presence", power.release);
34     TestEngine.testPresence("setScreenStateChangeListener presence", power.setScreenStateChangeListener);
35     TestEngine.testPresence("unsetScreenStateChangeListener presence", power.unsetScreenStateChangeListener);
36     TestEngine.testPresence("getScreenBrightness presence", power.getScreenBrightness);
37     TestEngine.testPresence("setScreenBrightness presence", power.setScreenBrightness);
38     TestEngine.testPresence("isScreenOn presence", power.isScreenOn);
39     TestEngine.testPresence("restoreScreenBrightness presence", power.restoreScreenBrightness);
40     TestEngine.testPresence("turnScreenOn presence", power.turnScreenOn);
41     TestEngine.testPresence("turnScreenOff presence", power.turnScreenOff);
42 }
43
44 function UTC_power_request_P_001()
45 {
46     TestEngine.log("UTC_power_request_P_001");
47
48     testNoExceptionWithMessage("test request display",
49         function(){
50             power.request("SCREEN", "SCREEN_DIM");
51             power.request("SCREEN", "SCREEN_NORMAL");
52             power.request("SCREEN", "SCREEN_BRIGHT");
53         }
54     );
55
56     testNoExceptionWithMessage("test request cpu",
57         function(){
58             power.request("CPU", "CPU_AWAKE");
59         }
60     );
61
62     testNoExceptionWithMessage("test request additional",
63         function(){
64             power.request("SCREEN", "SCREEN_BRIGHT", ERROR_STR);
65         }
66     );
67 }
68
69 function UTC_power_request_N_001()
70 {
71     TestEngine.log("UTC_power_request_N_001");
72
73     TestEngine.log("First parameter check.");
74     TestEngine.catchErrorType("name", TYPE_MISMATCH_ERR, power, "request", ERROR_STR);
75     TestEngine.catchErrorType("name", TYPE_MISMATCH_ERR, power, "request", null);
76     TestEngine.catchErrorType("name", TYPE_MISMATCH_ERR, power, "request", undefined);
77
78     TestEngine.log("Second parameter check.");
79     TestEngine.catchErrorType("name", TYPE_MISMATCH_ERR, power, "request", "SCREEN", ERROR_STR);
80     TestEngine.catchErrorType("name", TYPE_MISMATCH_ERR, power, "request", "SCREEN", null);
81     TestEngine.catchErrorType("name", TYPE_MISMATCH_ERR, power, "request", "SCREEN", undefined);
82
83     TestEngine.log("Invalid number of parameters check.");
84     TestEngine.catchErrorType("name", TYPE_MISMATCH_ERR, power, "request");
85     TestEngine.catchErrorType("name", TYPE_MISMATCH_ERR, power, "request", "SCREEN");
86 }
87
88 function UTC_power_release_P_001()
89 {
90     TestEngine.log("UTC_power_release_P_001");
91
92     testNoExceptionWithMessage("test release display",
93             function(){
94                         power.release("SCREEN");
95             }
96     );
97
98     testNoExceptionWithMessage("test release display additional",
99             function(){
100                         power.release("SCREEN", 1);
101             }
102     );
103 }
104
105 function UTC_power_release_N_001()
106 {
107     TestEngine.log("UTC_power_release_N_001");
108
109     TestEngine.log("First parameter check.");
110     TestEngine.catchErrorType("name", TYPE_MISMATCH_ERR, power, "release", ERROR_STR);
111     TestEngine.catchErrorType("name", TYPE_MISMATCH_ERR, power, "release", null);
112     TestEngine.catchErrorType("name", TYPE_MISMATCH_ERR, power, "release", undefined);
113
114     TestEngine.log("Invalid number of parameters check.");
115     TestEngine.catchErrorType("name", TYPE_MISMATCH_ERR, power, "release");
116 }
117
118 function onChanged(previousState, changedState) {
119         TestEngine.log("State changed." + ", previousState: " + previousState + ", changedState: " + changedState);
120 }
121
122 function UTC_power_setScreenStateChangeListener_P_001()
123 {
124     TestEngine.log("UTC_power_setScreenStateChangeListener_P_001");
125
126     testNoExceptionWithMessage("test setScreenStateChangeListener",
127         function(){
128             power.setScreenStateChangeListener(onChanged);
129         }
130     );
131
132     testNoExceptionWithMessage("test setScreenStateChangeListener additional",
133         function(){
134             power.setScreenStateChangeListener(onChanged, ERROR_STR);
135         }
136     );
137 }
138
139 function UTC_power_setScreenStateChangeListener_N_001()
140 {
141     TestEngine.log("UTC_power_setScreenStateChangeListener_N_001");
142
143     TestEngine.log("First parameter check.");
144     TestEngine.catchErrorType("name", TYPE_MISMATCH_ERR, power, "setScreenStateChangeListener", ERROR_STR);
145     TestEngine.catchErrorType("name", TYPE_MISMATCH_ERR, power, "setScreenStateChangeListener", null);
146     TestEngine.catchErrorType("name", TYPE_MISMATCH_ERR, power, "setScreenStateChangeListener", undefined);
147
148     TestEngine.log("Invalid number of parameters check.");
149     TestEngine.catchErrorType("name", TYPE_MISMATCH_ERR, power, "setScreenStateChangeListener");
150 }
151
152 function UTC_power_unsetScreenStateChangeListener_P_001()
153 {
154     TestEngine.log("UTC_power_unsetScreenStateChangeListener_P_001");
155
156     testNoExceptionWithMessage("test unsetScreenStateChangeListener",
157         function(){
158             power.unsetScreenStateChangeListener();
159         }
160     );
161
162     testNoExceptionWithMessage("test request additional",
163         function(){
164             power.unsetScreenStateChangeListener(ERROR_STR);
165         }
166     );
167 }
168
169 function UTC_power_getScreenBrightness_P_001()
170 {
171     TestEngine.log("UTC_power_getScreenBrightness_P_001");
172
173     testNoExceptionWithMessage("test getScreenBrightness",
174         function(){
175             power.getScreenBrightness();
176         }
177     );
178
179     testNoExceptionWithMessage("test getScreenBrightness additional",
180         function(){
181             power.getScreenBrightness(ERROR_STR);
182         }
183     );
184 }
185
186 function UTC_power_setScreenBrightness_P_001()
187 {
188     TestEngine.log("UTC_power_setScreenBrightness_P_001");
189
190     testNoExceptionWithMessage("test setScreenBrightness",
191         function(){
192             power.setScreenBrightness(0.5);
193         }
194     );
195
196     testNoExceptionWithMessage("test setScreenBrightness additional",
197         function(){
198             power.setScreenBrightness(0.1, ERROR_STR);
199         }
200     );
201 }
202
203 function UTC_power_setScreenBrightness_N_001()
204 {
205     TestEngine.log("UTC_power_setScreenBrightness_N_001");
206
207     TestEngine.log("First parameter check.");
208     TestEngine.catchErrorType("name", TYPE_MISMATCH_ERR, power, "setScreenBrightness", ERROR_STR);
209 }
210
211 function UTC_power_isScreenOn_P_001()
212 {
213     TestEngine.log("UTC_power_isScreenOn_P_001");
214
215     testNoExceptionWithMessage("test isScreenOn",
216         function(){
217             power.isScreenOn();
218         }
219     );
220
221     testNoExceptionWithMessage("test isScreenOn additional",
222         function(){
223             power.isScreenOn(ERROR_STR);
224         }
225     );
226 }
227
228 function UTC_power_restoreScreenBrightness_P_001()
229 {
230     TestEngine.log("UTC_power_restoreScreenBrightness_P_001");
231
232     testNoExceptionWithMessage("test restoreScreenBrightness",
233         function(){
234             power.restoreScreenBrightness();
235         }
236     );
237
238     testNoExceptionWithMessage("test restoreScreenBrightness additional",
239         function(){
240             power.restoreScreenBrightness(ERROR_STR);
241         }
242     );
243 }
244
245 function UTC_power_turnScreenOff_P_001()
246 {
247     TestEngine.log("UTC_power_turnScreenOff_P_001");
248
249     testNoExceptionWithMessage("test turnScreenOff",
250         function(){
251             power.turnScreenOff();
252         }
253     );
254
255     testNoExceptionWithMessage("test turnScreenOff additional",
256         function(){
257             power.turnScreenOff(ERROR_STR);
258         }
259     );
260 }
261
262 function UTC_power_turnScreenOn_P_001()
263 {
264     TestEngine.log("UTC_power_turnScreenOn_P_001");
265
266     testNoExceptionWithMessage("test turnScreenOn",
267         function(){
268             power.turnScreenOn();
269         }
270     );
271
272     testNoExceptionWithMessage("test turnScreenOn additional",
273         function(){
274             power.turnScreenOn(ERROR_STR);
275         }
276     );
277 }
278
279 //=============================================================================
280 TestEngine.setTestSuiteName("[Tizen][Power]", 30 * 1000);
281 TestEngine.addTest(true, UTC_power_module_presence_P_001, "[Tizen][Power] UTC_power_module_presence_P_001");
282 TestEngine.addTest(true, UTC_power_request_P_001, "[Tizen][Power] UTC_power_request_P_001");
283 TestEngine.addTest(true, UTC_power_request_N_001, "[Tizen][Power] UTC_power_request_N_001");
284 TestEngine.addTest(true, UTC_power_release_N_001, "[Tizen][Power] UTC_power_release_N_001");
285 TestEngine.addTest(true, UTC_power_release_P_001, "[Tizen][Power] UTC_power_release_P_001");
286 TestEngine.addTest(true, UTC_power_setScreenStateChangeListener_P_001, "[Tizen][Power] UTC_power_setScreenStateChangeListener_P_001");
287 TestEngine.addTest(true, UTC_power_setScreenStateChangeListener_N_001, "[Tizen][Power] UTC_power_setScreenStateChangeListener_N_001");
288 TestEngine.addTest(true, UTC_power_unsetScreenStateChangeListener_P_001, "[Tizen][Power] UTC_power_unsetScreenStateChangeListener_P_001");
289 TestEngine.addTest(true, UTC_power_getScreenBrightness_P_001, "[Tizen][Power] UTC_power_getScreenBrightness_P_001");
290 TestEngine.addTest(true, UTC_power_setScreenBrightness_P_001, "[Tizen][Power] UTC_power_setScreenBrightness_P_001");
291 TestEngine.addTest(true, UTC_power_setScreenBrightness_N_001, "[Tizen][Power] UTC_power_setScreenBrightness_N_001");
292 TestEngine.addTest(true, UTC_power_isScreenOn_P_001, "[Tizen][Power] UTC_power_isScreenOn_P_001");
293 TestEngine.addTest(true, UTC_power_restoreScreenBrightness_P_001, "[Tizen][Power] UTC_power_restoreScreenBrightness_P_001");
294 TestEngine.addTest(true, UTC_power_turnScreenOff_P_001, "[Tizen][Power] UTC_power_turnScreenOff_P_001");
295 TestEngine.addTest(true, UTC_power_turnScreenOn_P_001, "[Tizen][Power] UTC_power_turnScreenOn_P_001");
296 //=============================================================================
297
298 function testNoExceptionWithMessage(message, fun) {
299     var testResult = true;
300     try
301     {
302         fun();
303     }
304     catch (e)
305     {
306         testResult = false;
307     }
308     TestEngine.test(message, testResult);
309 }
310