cmmanager/cmapplsettingsui/tsrc/ut/testcmapplsettingsui.cpp
changeset 20 9c97ad6591ae
equal deleted inserted replaced
18:fcbbe021d614 20:9c97ad6591ae
       
     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 }