|
1 /* |
|
2 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: |
|
15 * CM Application Settings UI unit testing. |
|
16 */ |
|
17 |
|
18 #include <QSharedPointer> |
|
19 |
|
20 #include <HbApplication> |
|
21 #include <HbMainWindow> |
|
22 #include <HbDialog> |
|
23 #include <HbRadioButtonList> |
|
24 #include <HbAction> |
|
25 #include <QtTest/QtTest> |
|
26 |
|
27 #include "cmapplsettingsui_p.h" |
|
28 #include "cmradiodialog.h" |
|
29 |
|
30 #include "hbautotest.h" |
|
31 #include "testcmapplsettingsui.h" |
|
32 |
|
33 // ----------------------------------------------------------------------------- |
|
34 // STATIC TEST DATA |
|
35 // ----------------------------------------------------------------------------- |
|
36 |
|
37 // Time to wait before continuing after an UI step |
|
38 static const int waitTime = 10; |
|
39 |
|
40 // Destination list item for Connection Method selection |
|
41 static const QString dedicatedAccessPoint = "Dedicated access point"; |
|
42 |
|
43 static const QStringList allDestinations = QStringList() << |
|
44 "Internet" << |
|
45 "My Snap" << |
|
46 dedicatedAccessPoint; |
|
47 |
|
48 static const QStringList allConnectionMethods = QStringList() |
|
49 << "Home WLAN" |
|
50 << "packet data 1" |
|
51 << "packet data 2" |
|
52 << "packet data 3" |
|
53 << "Streaming" |
|
54 << "WLAN IAP 1" |
|
55 << "WLAN IAP 2" |
|
56 << "WLAN IAP 3"; |
|
57 |
|
58 static const QStringList gprsConnectionMethods = QStringList() |
|
59 << "packet data 1" |
|
60 << "packet data 2" |
|
61 << "packet data 3" |
|
62 << "Streaming"; |
|
63 |
|
64 static const QStringList wlanConnectionMethods = QStringList() |
|
65 << "Home WLAN" |
|
66 << "WLAN IAP 1" |
|
67 << "WLAN IAP 2" |
|
68 << "WLAN IAP 3"; |
|
69 |
|
70 // ----------------------------------------------------------------------------- |
|
71 // FRAMEWORK FUNCTIONS |
|
72 // ----------------------------------------------------------------------------- |
|
73 |
|
74 /** |
|
75 * Test main function. Runs all test cases. |
|
76 */ |
|
77 #ifndef TESTCMAPPLSETTINGSUI_NO_OUTPUT_REDIRECT |
|
78 int main(int argc, char *argv[]) |
|
79 { |
|
80 HbApplication app(argc, argv); |
|
81 app.setApplicationName("TestCmApplSettingsUi"); |
|
82 |
|
83 char *pass[3]; |
|
84 pass[0] = argv[0]; |
|
85 pass[1] = "-o"; |
|
86 pass[2] = "c:\\data\\TestCmApplSettingsUi.txt"; |
|
87 |
|
88 TestCmApplSettingsUi tc; |
|
89 int res = QTest::qExec(&tc, 3, pass); |
|
90 |
|
91 return res; |
|
92 } |
|
93 #else |
|
94 QTEST_MAIN(TestCmApplSettingsUi) |
|
95 #endif |
|
96 |
|
97 /** |
|
98 * This function is be called before the first test case is executed. |
|
99 */ |
|
100 void TestCmApplSettingsUi::initTestCase() |
|
101 { |
|
102 mMainWindow = new HbAutoTestMainWindow; |
|
103 //mMainWindow = new HbMainWindow; |
|
104 mMainWindow->show(); |
|
105 mSelection.result = CmApplSettingsUi::SelectionTypeDestination; |
|
106 mSelection.id = 0; |
|
107 mSignalFinished = NULL; |
|
108 } |
|
109 |
|
110 /** |
|
111 * This function is be called after the last test case was executed. |
|
112 */ |
|
113 void TestCmApplSettingsUi::cleanupTestCase() |
|
114 { |
|
115 delete mMainWindow; |
|
116 mMainWindow = 0; |
|
117 } |
|
118 |
|
119 /** |
|
120 * This function is be called before each test case is executed. |
|
121 */ |
|
122 void TestCmApplSettingsUi::init() |
|
123 { |
|
124 // Initialize the CmApplSettingsUI object |
|
125 mApplSettUi = new CmApplSettingsUi; |
|
126 |
|
127 // Initialize code references |
|
128 mApplSettingsPriv = mApplSettUi->d_ptr; |
|
129 QVERIFY(mApplSettingsPriv != NULL); |
|
130 |
|
131 // CmApplSettingsUI finished(uint) signal watcher |
|
132 mSignalFinished = new QSignalSpy(mApplSettUi, SIGNAL(finished(uint))); |
|
133 QVERIFY(mSignalFinished->isValid() == true); |
|
134 } |
|
135 |
|
136 /** |
|
137 * This function is be called after each test case is executed. |
|
138 */ |
|
139 void TestCmApplSettingsUi::cleanup() |
|
140 { |
|
141 delete mApplSettUi; |
|
142 mApplSettUi = NULL; |
|
143 |
|
144 mApplSettingsPriv = NULL; |
|
145 |
|
146 QCOMPARE(mSignalFinished->count(), 0); |
|
147 delete mSignalFinished; |
|
148 mSignalFinished = NULL; |
|
149 } |
|
150 |
|
151 // ----------------------------------------------------------------------------- |
|
152 // TEST CASES |
|
153 // ----------------------------------------------------------------------------- |
|
154 |
|
155 void TestCmApplSettingsUi::tcConfigAndDelete() |
|
156 { |
|
157 // Form the configuration parameters |
|
158 mSelection.result = CmApplSettingsUi::SelectionTypeDestination; |
|
159 mSelection.id = 0; |
|
160 QFlags<CmApplSettingsUi::SelectionDialogItems> listItems; |
|
161 listItems |= CmApplSettingsUi::ShowDestinations; |
|
162 listItems |= CmApplSettingsUi::ShowConnectionMethods; |
|
163 QSet<CmApplSettingsUi::BearerTypeFilter> filter; |
|
164 |
|
165 // Configure the dialog |
|
166 mApplSettUi->setOptions(listItems, filter); |
|
167 mApplSettUi->setSelection(mSelection); |
|
168 |
|
169 // Skip execution, to test premature deletion |
|
170 } |
|
171 |
|
172 void TestCmApplSettingsUi::tcNoContentToShow() |
|
173 { |
|
174 // Configure the dialog |
|
175 QFlags<CmApplSettingsUi::SelectionDialogItems> listItems; |
|
176 QSet<CmApplSettingsUi::BearerTypeFilter> filter; |
|
177 mApplSettUi->setOptions(listItems, filter); |
|
178 |
|
179 // Run the dialog |
|
180 mApplSettUi->open(); |
|
181 |
|
182 // The dialog should fail to no content error code, |
|
183 // since no selection dialog items were selected. |
|
184 subCatchSignalFinished(CmApplSettingsUi::ApplSettingsErrorNoContent); |
|
185 } |
|
186 |
|
187 void TestCmApplSettingsUi::tcDestinationSelect() |
|
188 { |
|
189 // Configure the dialog |
|
190 QFlags<CmApplSettingsUi::SelectionDialogItems> listItems; |
|
191 listItems |= CmApplSettingsUi::ShowDestinations; |
|
192 QSet<CmApplSettingsUi::BearerTypeFilter> filter; |
|
193 mApplSettUi->setOptions(listItems, filter); |
|
194 |
|
195 // Run the dialog |
|
196 mApplSettUi->open(); |
|
197 |
|
198 // Validate the dialog content |
|
199 QStringList destinations; |
|
200 destinations |
|
201 << "Internet" |
|
202 << "My Snap"; |
|
203 subCheckDialog( |
|
204 mApplSettingsPriv->mDestinationDialog, |
|
205 destinations, |
|
206 0); |
|
207 |
|
208 // Click "OK" |
|
209 subDismissDialog(mApplSettingsPriv->mDestinationDialog->mDialog, true); |
|
210 |
|
211 // The dialog should succeed |
|
212 subCatchSignalFinished(CmApplSettingsUi::ApplSettingsErrorNone); |
|
213 |
|
214 // Selection should be Internet Destination |
|
215 mSelection.result = CmApplSettingsUi::SelectionTypeDestination; |
|
216 mSelection.id = 4099; |
|
217 subVerifySelection(mSelection); |
|
218 } |
|
219 |
|
220 void TestCmApplSettingsUi::tcDestinationCancel() |
|
221 { |
|
222 // Run the dialog with default parameters |
|
223 mApplSettUi->open(); |
|
224 |
|
225 // Validate the dialog content |
|
226 subCheckDialog( |
|
227 mApplSettingsPriv->mDestinationDialog, |
|
228 allDestinations, |
|
229 0); |
|
230 |
|
231 // Click "Cancel" |
|
232 subDismissDialog(mApplSettingsPriv->mDestinationDialog->mDialog, false); |
|
233 |
|
234 // The dialog should succeed |
|
235 subCatchSignalFinished(CmApplSettingsUi::ApplSettingsErrorCancel); |
|
236 } |
|
237 |
|
238 void TestCmApplSettingsUi::tcDestinationFilterWlan() |
|
239 { |
|
240 // Configure the dialog |
|
241 QFlags<CmApplSettingsUi::SelectionDialogItems> listItems; |
|
242 listItems |= CmApplSettingsUi::ShowDestinations; |
|
243 QSet<CmApplSettingsUi::BearerTypeFilter> filter; |
|
244 filter |= CMManagerShim::BearerTypeWlan; |
|
245 mApplSettUi->setOptions(listItems, filter); |
|
246 |
|
247 // Run the dialog |
|
248 mApplSettUi->open(); |
|
249 |
|
250 // Validate the dialog content |
|
251 QStringList destinations; |
|
252 destinations |
|
253 << "Internet" |
|
254 << "My Snap"; |
|
255 subCheckDialog( |
|
256 mApplSettingsPriv->mDestinationDialog, |
|
257 destinations, |
|
258 0); |
|
259 |
|
260 // Select "My Snap" |
|
261 subSelectDialogItem( |
|
262 mApplSettingsPriv->mDestinationDialog, |
|
263 1); |
|
264 |
|
265 // Click "OK" |
|
266 subDismissDialog(mApplSettingsPriv->mDestinationDialog->mDialog, true); |
|
267 |
|
268 // The dialog should succeed |
|
269 subCatchSignalFinished(CmApplSettingsUi::ApplSettingsErrorNone); |
|
270 |
|
271 // Selection should be "My Snap" Destination |
|
272 mSelection.result = CmApplSettingsUi::SelectionTypeDestination; |
|
273 mSelection.id = 4102; |
|
274 subVerifySelection(mSelection); |
|
275 } |
|
276 |
|
277 void TestCmApplSettingsUi::tcDestinationFilterUnknown() |
|
278 { |
|
279 // Configure the dialog |
|
280 QFlags<CmApplSettingsUi::SelectionDialogItems> listItems; |
|
281 listItems |= CmApplSettingsUi::ShowDestinations; |
|
282 listItems |= CmApplSettingsUi::ShowConnectionMethods; |
|
283 QSet<CmApplSettingsUi::BearerTypeFilter> filter; |
|
284 filter |= 0x10281BB7; // Obsolete CSD bearer type |
|
285 mApplSettUi->setOptions(listItems, filter); |
|
286 |
|
287 // Run the dialog with default parameters |
|
288 mApplSettUi->open(); |
|
289 |
|
290 // The dialog should fail since there's nothing to show |
|
291 subCatchSignalFinished(CmApplSettingsUi::ApplSettingsErrorNoContent); |
|
292 } |
|
293 |
|
294 void TestCmApplSettingsUi::tcDedicatedConnMethodSelect() |
|
295 { |
|
296 // Configure the dialog |
|
297 mSelection.result = CmApplSettingsUi::SelectionTypeDestination; |
|
298 mSelection.id = 4099; |
|
299 mApplSettUi->setSelection(mSelection); |
|
300 |
|
301 // Run the dialog with default parameters |
|
302 mApplSettUi->open(); |
|
303 |
|
304 // Validate the dialog content |
|
305 subCheckDialog( |
|
306 mApplSettingsPriv->mDestinationDialog, |
|
307 allDestinations, |
|
308 0); |
|
309 |
|
310 // Select "Dedicated access point" |
|
311 subSelectDialogItem( |
|
312 mApplSettingsPriv->mDestinationDialog, |
|
313 2); |
|
314 |
|
315 // Click "OK" |
|
316 subDismissDialog(mApplSettingsPriv->mDestinationDialog->mDialog, true); |
|
317 |
|
318 // Connection method list should open |
|
319 subCheckDialog( |
|
320 mApplSettingsPriv->mConnMethodDialog, |
|
321 allConnectionMethods, |
|
322 0); |
|
323 |
|
324 // Click "OK" |
|
325 subDismissDialog(mApplSettingsPriv->mConnMethodDialog->mDialog, true); |
|
326 |
|
327 // The dialog should succeed |
|
328 subCatchSignalFinished(CmApplSettingsUi::ApplSettingsErrorNone); |
|
329 |
|
330 // Selection should be Connection Method "Home WLAN" |
|
331 mSelection.result = CmApplSettingsUi::SelectionTypeConnectionMethod; |
|
332 mSelection.id = 8; |
|
333 subVerifySelection(mSelection); |
|
334 } |
|
335 |
|
336 void TestCmApplSettingsUi::tcDedicatedConnMethodCancel() |
|
337 { |
|
338 // Configure the dialog |
|
339 mSelection.result = CmApplSettingsUi::SelectionTypeConnectionMethod; |
|
340 mSelection.id = 1; |
|
341 mApplSettUi->setSelection(mSelection); |
|
342 |
|
343 // Run the dialog with default parameters |
|
344 mApplSettUi->open(); |
|
345 |
|
346 // Validate the dialog content |
|
347 subCheckDialog( |
|
348 mApplSettingsPriv->mDestinationDialog, |
|
349 allDestinations, |
|
350 2); |
|
351 |
|
352 // Click "OK" |
|
353 subDismissDialog(mApplSettingsPriv->mDestinationDialog->mDialog, true); |
|
354 |
|
355 // Connection method list should open |
|
356 subCheckDialog( |
|
357 mApplSettingsPriv->mConnMethodDialog, |
|
358 allConnectionMethods, |
|
359 1); |
|
360 |
|
361 // Click "Cancel" |
|
362 subDismissDialog(mApplSettingsPriv->mConnMethodDialog->mDialog, false); |
|
363 |
|
364 // The dialog should be cancelled |
|
365 subCatchSignalFinished(CmApplSettingsUi::ApplSettingsErrorCancel); |
|
366 } |
|
367 |
|
368 void TestCmApplSettingsUi::tcConnMethodSelect() |
|
369 { |
|
370 // Configure the dialog |
|
371 QFlags<CmApplSettingsUi::SelectionDialogItems> listItems; |
|
372 listItems |= CmApplSettingsUi::ShowConnectionMethods; |
|
373 QSet<CmApplSettingsUi::BearerTypeFilter> filter; |
|
374 mApplSettUi->setOptions(listItems, filter); |
|
375 mSelection.result = CmApplSettingsUi::SelectionTypeConnectionMethod; |
|
376 mSelection.id = 1; |
|
377 mApplSettUi->setSelection(mSelection); |
|
378 |
|
379 // Run the dialog |
|
380 mApplSettUi->open(); |
|
381 |
|
382 // Validate the dialog content |
|
383 subCheckDialog( |
|
384 mApplSettingsPriv->mConnMethodDialog, |
|
385 allConnectionMethods, |
|
386 1); |
|
387 |
|
388 // Select "WLAN IAP 1" |
|
389 subSelectDialogItem( |
|
390 mApplSettingsPriv->mConnMethodDialog, |
|
391 3); |
|
392 |
|
393 // Click "OK" |
|
394 subDismissDialog(mApplSettingsPriv->mConnMethodDialog->mDialog, true); |
|
395 |
|
396 // The dialog should succeed |
|
397 subCatchSignalFinished(CmApplSettingsUi::ApplSettingsErrorNone); |
|
398 |
|
399 // Selection should be Connection Method "packet data 3" |
|
400 mSelection.result = CmApplSettingsUi::SelectionTypeConnectionMethod; |
|
401 mSelection.id = 4; |
|
402 subVerifySelection(mSelection); |
|
403 } |
|
404 |
|
405 void TestCmApplSettingsUi::tcConnMethodCancel() |
|
406 { |
|
407 // Configure the dialog |
|
408 QFlags<CmApplSettingsUi::SelectionDialogItems> listItems; |
|
409 listItems |= CmApplSettingsUi::ShowConnectionMethods; |
|
410 QSet<CmApplSettingsUi::BearerTypeFilter> filter; |
|
411 mApplSettUi->setOptions(listItems, filter); |
|
412 |
|
413 // Run the dialog |
|
414 mApplSettUi->open(); |
|
415 |
|
416 // Validate the dialog content |
|
417 subCheckDialog( |
|
418 mApplSettingsPriv->mConnMethodDialog, |
|
419 allConnectionMethods, |
|
420 0); |
|
421 |
|
422 // Click "Cancel" |
|
423 subDismissDialog(mApplSettingsPriv->mConnMethodDialog->mDialog, false); |
|
424 |
|
425 // The dialog should succeed |
|
426 subCatchSignalFinished(CmApplSettingsUi::ApplSettingsErrorCancel); |
|
427 } |
|
428 |
|
429 void TestCmApplSettingsUi::tcConnMethodFilterGprs() |
|
430 { |
|
431 // Configure the dialog |
|
432 QFlags<CmApplSettingsUi::SelectionDialogItems> listItems; |
|
433 listItems |= CmApplSettingsUi::ShowConnectionMethods; |
|
434 QSet<CmApplSettingsUi::BearerTypeFilter> filter; |
|
435 filter |= CMManagerShim::BearerTypePacketData; |
|
436 mApplSettUi->setOptions(listItems, filter); |
|
437 mSelection.result = CmApplSettingsUi::SelectionTypeConnectionMethod; |
|
438 mSelection.id = 9; |
|
439 mApplSettUi->setSelection(mSelection); |
|
440 |
|
441 // Run the dialog |
|
442 mApplSettUi->open(); |
|
443 |
|
444 // Validate the dialog content |
|
445 subCheckDialog( |
|
446 mApplSettingsPriv->mConnMethodDialog, |
|
447 gprsConnectionMethods, |
|
448 3); |
|
449 |
|
450 // Select "packet data 3" |
|
451 subSelectDialogItem( |
|
452 mApplSettingsPriv->mConnMethodDialog, |
|
453 2); |
|
454 |
|
455 // Click "OK" |
|
456 subDismissDialog(mApplSettingsPriv->mConnMethodDialog->mDialog, true); |
|
457 |
|
458 // The dialog should succeed |
|
459 subCatchSignalFinished(CmApplSettingsUi::ApplSettingsErrorNone); |
|
460 |
|
461 // Selection should be Connection Method "packet data 3" |
|
462 mSelection.result = CmApplSettingsUi::SelectionTypeConnectionMethod; |
|
463 mSelection.id = 4; |
|
464 subVerifySelection(mSelection); |
|
465 } |
|
466 |
|
467 void TestCmApplSettingsUi::tcConnMethodFilterWlan() |
|
468 { |
|
469 // Configure the dialog |
|
470 QFlags<CmApplSettingsUi::SelectionDialogItems> listItems; |
|
471 listItems |= CmApplSettingsUi::ShowConnectionMethods; |
|
472 QSet<CmApplSettingsUi::BearerTypeFilter> filter; |
|
473 filter |= CMManagerShim::BearerTypeWlan; |
|
474 mApplSettUi->setOptions(listItems, filter); |
|
475 mSelection.result = CmApplSettingsUi::SelectionTypeConnectionMethod; |
|
476 mSelection.id = 6; |
|
477 mApplSettUi->setSelection(mSelection); |
|
478 |
|
479 // Run the dialog |
|
480 mApplSettUi->open(); |
|
481 |
|
482 // Validate the dialog content |
|
483 subCheckDialog( |
|
484 mApplSettingsPriv->mConnMethodDialog, |
|
485 wlanConnectionMethods, |
|
486 2); |
|
487 |
|
488 // Select "WLAN IAP 1" |
|
489 subSelectDialogItem( |
|
490 mApplSettingsPriv->mConnMethodDialog, |
|
491 1); |
|
492 |
|
493 // Click "OK" |
|
494 subDismissDialog(mApplSettingsPriv->mConnMethodDialog->mDialog, true); |
|
495 |
|
496 // The dialog should succeed |
|
497 subCatchSignalFinished(CmApplSettingsUi::ApplSettingsErrorNone); |
|
498 |
|
499 // Selection should be Connection Method "WLAN IAP 1" |
|
500 mSelection.result = CmApplSettingsUi::SelectionTypeConnectionMethod; |
|
501 mSelection.id = 5; |
|
502 subVerifySelection(mSelection); |
|
503 } |
|
504 |
|
505 void TestCmApplSettingsUi::tcConnMethodFilterUnknown() |
|
506 { |
|
507 // Configure the dialog |
|
508 QFlags<CmApplSettingsUi::SelectionDialogItems> listItems; |
|
509 listItems |= CmApplSettingsUi::ShowConnectionMethods; |
|
510 QSet<CmApplSettingsUi::BearerTypeFilter> filter; |
|
511 filter |= 0x10281BB7; // Obsolete CSD bearer type |
|
512 mApplSettUi->setOptions(listItems, filter); |
|
513 |
|
514 // Run the dialog |
|
515 mApplSettUi->open(); |
|
516 |
|
517 // The dialog should fail since there's nothing to show |
|
518 subCatchSignalFinished(CmApplSettingsUi::ApplSettingsErrorNoContent); |
|
519 } |
|
520 |
|
521 // ----------------------------------------------------------------------------- |
|
522 // SUB TEST CASES |
|
523 // ----------------------------------------------------------------------------- |
|
524 |
|
525 /** |
|
526 * Catch and verify the signal "finished(int)" emitted by mSignalFinished. |
|
527 */ |
|
528 void TestCmApplSettingsUi::subCatchSignalFinished(uint status) |
|
529 { |
|
530 QTest::qWait(waitTime); |
|
531 QCOMPARE(mSignalFinished->count(), 1); // A sole signal |
|
532 QList<QVariant> arguments = mSignalFinished->takeFirst(); |
|
533 // Verify the first result status |
|
534 QVERIFY(arguments.at(0).toUInt() == status); |
|
535 } |
|
536 |
|
537 /** |
|
538 * Verify the current selection against given selection |
|
539 */ |
|
540 void TestCmApplSettingsUi::subVerifySelection(CmApplSettingsUi::SettingSelection selection) |
|
541 { |
|
542 mSelection = mApplSettUi->selection(); |
|
543 QCOMPARE(mSelection.result, selection.result); |
|
544 QCOMPARE(mSelection.id, selection.id); |
|
545 } |
|
546 |
|
547 /** |
|
548 * Application settings ui dialog content validation subtestcase. |
|
549 * Checks: |
|
550 * -The dialog's radiobutton list content. |
|
551 * -Dialog's current selection. |
|
552 */ |
|
553 void TestCmApplSettingsUi::subCheckDialog( |
|
554 CmRadioDialog *radioDialog, |
|
555 QStringList items, |
|
556 int selected) |
|
557 { |
|
558 // Wait for the dialog to show properly |
|
559 QTest::qWait(waitTime); |
|
560 |
|
561 QVERIFY(radioDialog != NULL); |
|
562 QVERIFY(radioDialog->mList != NULL); |
|
563 QCOMPARE(radioDialog->mList->items(), items); |
|
564 QCOMPARE(radioDialog->mList->selected(), selected); |
|
565 } |
|
566 |
|
567 /** |
|
568 * Select an item from the radio dialog. |
|
569 */ |
|
570 void TestCmApplSettingsUi::subSelectDialogItem( |
|
571 CmRadioDialog *radioDialog, |
|
572 int selected) |
|
573 { |
|
574 // Wait for the dialog to show properly |
|
575 QTest::qWait(waitTime); |
|
576 |
|
577 QVERIFY(radioDialog != NULL); |
|
578 QVERIFY(radioDialog->mList != NULL); |
|
579 HbRadioButtonList *radioList = radioDialog->mList; |
|
580 |
|
581 // Calculate radio list item center location inside the |
|
582 // radio list widget |
|
583 QSizeF radioListSize = radioList->size(); |
|
584 qDebug( |
|
585 "Radio List size height(%f) width(%f)", |
|
586 radioListSize.height(), |
|
587 radioListSize.width()); |
|
588 int itemCount = radioList->items().count(); |
|
589 qDebug("Radio List item count: %d", itemCount); |
|
590 qreal buttonHeight = radioListSize.height() / itemCount; |
|
591 QPoint point( |
|
592 radioListSize.width() / 2, |
|
593 buttonHeight * (selected + 0.5)); |
|
594 |
|
595 // Click the button |
|
596 HbAutoTest::mouseClick(mMainWindow, radioList, point, waitTime); |
|
597 |
|
598 // Verify that the selection succeeded |
|
599 QCOMPARE(radioDialog->mList->selected(), selected); |
|
600 } |
|
601 |
|
602 /** |
|
603 * Dismiss the dialog by pressing either "OK" or "Cancel". |
|
604 */ |
|
605 void TestCmApplSettingsUi::subDismissDialog( |
|
606 QSharedPointer<HbDialog> dialog, |
|
607 bool accept) |
|
608 { |
|
609 // Wait for the dialog to show properly |
|
610 QTest::qWait(waitTime); |
|
611 |
|
612 QVERIFY(dialog != NULL); |
|
613 |
|
614 // Calculate button center location inside the dialog |
|
615 QSizeF dialogSize = dialog->size(); |
|
616 qDebug( |
|
617 "Dialog size height(%f) width(%f)", |
|
618 dialogSize.height(), |
|
619 dialogSize.width()); |
|
620 QPoint point; |
|
621 if (accept) { |
|
622 // Left button: "OK" |
|
623 point.setX(dialogSize.width() / 4); |
|
624 } else { |
|
625 // Right button: "Cancel" |
|
626 point.setX(dialogSize.width() - (dialogSize.width() / 4)); |
|
627 } |
|
628 point.setY(dialogSize.height() - 30); |
|
629 |
|
630 // Click the button |
|
631 HbAutoTest::mouseClick(mMainWindow, dialog.data(), point, waitTime); |
|
632 } |