controlpanel/tsrc/unit/ut_cpbasesettingview/src/ut_cpbasesettingview.cpp
author hgs
Thu, 02 Sep 2010 17:14:05 +0800
changeset 55 4c15d9aa2384
permissions -rw-r--r--
201035
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
55
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0""
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:  
hgs
parents:
diff changeset
    15
*       test application for qt control panel public apis.
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#include "ut_cpbasesettingview.h"
hgs
parents:
diff changeset
    19
hgs
parents:
diff changeset
    20
#include "cpbasesettingview.h"
hgs
parents:
diff changeset
    21
#include "mycpbasesettingview.h"
hgs
parents:
diff changeset
    22
hgs
parents:
diff changeset
    23
#include <QtTest/QtTest>
hgs
parents:
diff changeset
    24
#include <hbdataform.h>
hgs
parents:
diff changeset
    25
#include <hbpushbutton.h>
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
/*!
hgs
parents:
diff changeset
    28
    \class TestCpBaseSettingView
hgs
parents:
diff changeset
    29
    \brief \n
hgs
parents:
diff changeset
    30
    The TestCpBaseSettingView is used for the unit testing for CpBaseSettingView class.
hgs
parents:
diff changeset
    31
    This unit test is supported by QTest.
hgs
parents:
diff changeset
    32
    There are 3 test cases for this unit.
hgs
parents:
diff changeset
    33
 */
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
void TestCpBaseSettingView::initTestCase()
hgs
parents:
diff changeset
    36
    {
hgs
parents:
diff changeset
    37
hgs
parents:
diff changeset
    38
    }
hgs
parents:
diff changeset
    39
hgs
parents:
diff changeset
    40
void TestCpBaseSettingView::cleanupTestCase()
hgs
parents:
diff changeset
    41
    {
hgs
parents:
diff changeset
    42
    QCoreApplication::processEvents();
hgs
parents:
diff changeset
    43
    }
hgs
parents:
diff changeset
    44
hgs
parents:
diff changeset
    45
/*!
hgs
parents:
diff changeset
    46
 * Test Case Description:\n &nbsp;
hgs
parents:
diff changeset
    47
 * 1. Fucntion Name: CpBaseSettingView() \n&nbsp;
hgs
parents:
diff changeset
    48
   2. Function Descrition: \n &nbsp;&nbsp;
hgs
parents:
diff changeset
    49
       2.1 Create CpBaseSettingView object with 0 pointer.\n &nbsp;&nbsp;
hgs
parents:
diff changeset
    50
       2.2 call setWidget to set a widget into the view object.\n &nbsp;&nbsp;
hgs
parents:
diff changeset
    51
       2.3 verify widget object is set correctly.\n &nbsp;&nbsp;
hgs
parents:
diff changeset
    52
       2.4 delete the object.\n &nbsp;
hgs
parents:
diff changeset
    53
   3. Input Parameters: \n&nbsp;
hgs
parents:
diff changeset
    54
       @param: 0\n
hgs
parents:
diff changeset
    55
   4. Expected result: \n&nbsp;&nbsp;
hgs
parents:
diff changeset
    56
       CpBaseSettingView object created successfully.\n 
hgs
parents:
diff changeset
    57
 */
hgs
parents:
diff changeset
    58
void TestCpBaseSettingView::testCpBaseSettingViewWithNullPointer()
hgs
parents:
diff changeset
    59
    {
hgs
parents:
diff changeset
    60
    CpBaseSettingView * pView = new CpBaseSettingView(0);
hgs
parents:
diff changeset
    61
    QVERIFY( pView != 0 );
hgs
parents:
diff changeset
    62
    
hgs
parents:
diff changeset
    63
    HbDataForm *pForm = new HbDataForm(0);
hgs
parents:
diff changeset
    64
    pView->setWidget(pForm);
hgs
parents:
diff changeset
    65
    HbDataForm *pForm1 = qobject_cast<HbDataForm *>(pView->widget());
hgs
parents:
diff changeset
    66
    QVERIFY( pForm1 != 0);
hgs
parents:
diff changeset
    67
    QVERIFY( pForm1 == pForm );
hgs
parents:
diff changeset
    68
    
hgs
parents:
diff changeset
    69
    delete pView;
hgs
parents:
diff changeset
    70
    pView = 0;
hgs
parents:
diff changeset
    71
    }
hgs
parents:
diff changeset
    72
hgs
parents:
diff changeset
    73
/*!
hgs
parents:
diff changeset
    74
 * Test Case Description:\n &nbsp;
hgs
parents:
diff changeset
    75
 * 1. Fucntion Name: CpBaseSettingView() \n&nbsp;
hgs
parents:
diff changeset
    76
   2. Function Descrition: \n&nbsp;&nbsp;
hgs
parents:
diff changeset
    77
       2.1 Create CpBaseSettingView object with a widget pointer.\n &nbsp;&nbsp;
hgs
parents:
diff changeset
    78
       2.2 verify widget object is set correctly.\n &nbsp;&nbsp;
hgs
parents:
diff changeset
    79
       2.3 delete the object.\n &nbsp;
hgs
parents:
diff changeset
    80
   3. Input Parameters: \n&nbsp;
hgs
parents:
diff changeset
    81
       @param: widget pointer. \n
hgs
parents:
diff changeset
    82
   4. Expected result: \n&nbsp;&nbsp;
hgs
parents:
diff changeset
    83
       CpBaseSettingView object created successfully.\n 
hgs
parents:
diff changeset
    84
 */
hgs
parents:
diff changeset
    85
void TestCpBaseSettingView::testCpBaseSettingViewWithPushButtonWidget()
hgs
parents:
diff changeset
    86
    {
hgs
parents:
diff changeset
    87
    HbPushButton *widget = new HbPushButton();
hgs
parents:
diff changeset
    88
    QVERIFY(widget != 0);
hgs
parents:
diff changeset
    89
    
hgs
parents:
diff changeset
    90
    CpBaseSettingView *pView1 = new CpBaseSettingView(widget);
hgs
parents:
diff changeset
    91
    QVERIFY(pView1!=0);
hgs
parents:
diff changeset
    92
    
hgs
parents:
diff changeset
    93
    HbPushButton *button = qobject_cast<HbPushButton *>(pView1->widget());
hgs
parents:
diff changeset
    94
    QVERIFY(button != 0);
hgs
parents:
diff changeset
    95
    QVERIFY(button == widget);
hgs
parents:
diff changeset
    96
    
hgs
parents:
diff changeset
    97
    delete pView1;
hgs
parents:
diff changeset
    98
    pView1 = 0;    
hgs
parents:
diff changeset
    99
    }
hgs
parents:
diff changeset
   100
hgs
parents:
diff changeset
   101
/*!
hgs
parents:
diff changeset
   102
 * Test protected close() function, must be called in derived class
hgs
parents:
diff changeset
   103
 */
hgs
parents:
diff changeset
   104
/*!
hgs
parents:
diff changeset
   105
 * Test Case Description:\n &nbsp;
hgs
parents:
diff changeset
   106
 * 1. Fucntion Name: close() \n&nbsp;
hgs
parents:
diff changeset
   107
   2. Function Descrition: \n&nbsp;&nbsp;
hgs
parents:
diff changeset
   108
       2.1 Declare a derived class, MyCpBaseSettingView, create a MyCpBaseSettingView object with default constructor.\n &nbsp;&nbsp;
hgs
parents:
diff changeset
   109
       2.2 call close().\n &nbsp;&nbsp;
hgs
parents:
diff changeset
   110
       2.3 delete the object.\n &nbsp;
hgs
parents:
diff changeset
   111
   3. Input Parameters: \n&nbsp;
hgs
parents:
diff changeset
   112
       @param: 0\n
hgs
parents:
diff changeset
   113
   4. Expected result: \n&nbsp;&nbsp;
hgs
parents:
diff changeset
   114
       view closed.\n 
hgs
parents:
diff changeset
   115
 */
hgs
parents:
diff changeset
   116
void TestCpBaseSettingView::testCloseWithoutParam()
hgs
parents:
diff changeset
   117
    {
hgs
parents:
diff changeset
   118
    MyCpBaseSettingView * pMyView = new MyCpBaseSettingView();
hgs
parents:
diff changeset
   119
    QVERIFY( pMyView != 0 );
hgs
parents:
diff changeset
   120
    HbDataForm *pForm = new HbDataForm(0);
hgs
parents:
diff changeset
   121
    pMyView->setWidget(pForm);
hgs
parents:
diff changeset
   122
    HbDataForm *pForm1 = qobject_cast<HbDataForm *>(pMyView->widget());
hgs
parents:
diff changeset
   123
    QVERIFY( pForm1 != 0);
hgs
parents:
diff changeset
   124
    QVERIFY( pForm1 == pForm );
hgs
parents:
diff changeset
   125
    
hgs
parents:
diff changeset
   126
    pMyView->close();
hgs
parents:
diff changeset
   127
    
hgs
parents:
diff changeset
   128
    delete pMyView;
hgs
parents:
diff changeset
   129
    pMyView = 0;
hgs
parents:
diff changeset
   130
    }
hgs
parents:
diff changeset
   131
hgs
parents:
diff changeset
   132
void TestCpBaseSettingView::testPrivateFunc()
hgs
parents:
diff changeset
   133
    {
hgs
parents:
diff changeset
   134
    MyCpBaseSettingView * pMyView = new MyCpBaseSettingView();
hgs
parents:
diff changeset
   135
    QVERIFY( pMyView != 0 );
hgs
parents:
diff changeset
   136
    pMyView->testprivate();
hgs
parents:
diff changeset
   137
    
hgs
parents:
diff changeset
   138
    delete pMyView;
hgs
parents:
diff changeset
   139
    pMyView = 0;
hgs
parents:
diff changeset
   140
    }
hgs
parents:
diff changeset
   141
hgs
parents:
diff changeset
   142
QTEST_MAIN(TestCpBaseSettingView)