diff -r 8bda91a87a00 -r 8ee96d21d9bf controlpanel/tsrc/unit/ut_cpdataformbuttonentryviewitem/src/ut_cpdataformbuttonentryviewitem.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/controlpanel/tsrc/unit/ut_cpdataformbuttonentryviewitem/src/ut_cpdataformbuttonentryviewitem.cpp Tue Aug 31 15:29:50 2010 +0300 @@ -0,0 +1,291 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0"" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* test application for qt control panel public apis. +*/ +#include "ut_cpdataformbuttonentryviewitem.h" + +#include "cpdataformbuttonentryviewitem.h" +#include "mycpdataformbuttonentryviewitem.h" +#include "cpbasesettingview.h" + +#include +#include +#include +#include +#include +#include +#include + +/*! + \class TestCpDataFormButtonEntryViewItem + \brief The TestCpDataFormButtonEntryViewItem class is designed for the unit testing for CpDataFormButtonEntryViewItem class. + This unit test is supported by QTest. + There are total 8 test cases in this unit. + */ + +void TestCpDataFormButtonEntryViewItem::initTestCase() + { + mainWindow = 0; + } + +void TestCpDataFormButtonEntryViewItem::cleanupTestCase() + { + delete mainWindow; + + //if delete mainwindow, test app will be freezing + QCoreApplication::processEvents(); + } + +/*! + * Test Case Description:\n   + * 1. Fucntion Name: CpDataFormButtonEntryViewItem() \n  + 2. Function Descrition: \n    + 2.1 Create CpDataFormButtonEntryViewItem object with a HbDataForm pointer.\n    + 2.2 verify object created successfully.\n    + 2.3 delete the object.\n   + 3. Input Parameters: \n  + @param: HbDataForm pointer.\n + 4. Expected result: \n   + case run without verify failed.\n + */ +void TestCpDataFormButtonEntryViewItem::testCpDataFormButtonEntryViewItemWithDataFormParent() + { + HbDataForm * form = new HbDataForm(); + QVERIFY( form != 0 ); + + int count0 = form->itemPrototypes().count(); + CpPluginUtility::addCpItemPrototype(form); + int count1 = form->itemPrototypes().count(); + QVERIFY( count0 + 2 == count1 ); + + CpDataFormButtonEntryViewItem * item = new CpDataFormButtonEntryViewItem(form); + QVERIFY(item != 0); + + delete item; + } + +/*! + * Test Case Description:\n   + * 1. Fucntion Name: CpDataFormButtonEntryViewItem() \n  + 2. Function Descrition: \n    + 2.1 Create CpDataFormButtonEntryViewItem object with a 0 pointer.\n    + 2.2 verify object created successfully.\n    + 2.3 delete the object.\n   + 3. Input Parameters: \n  + @param: 0 pointer.\n + 4. Expected result: \n   + case run without verify failed.\n + */ +void TestCpDataFormButtonEntryViewItem::testCpDataFormButtonEntryViewItemWithNullParent() + { + CpDataFormButtonEntryViewItem * item = new CpDataFormButtonEntryViewItem(); + QVERIFY(item != 0); + + delete item; + } + +/*! + * Test Case Description:\n   + * 1. Fucntion Name: CpDataFormButtonEntryViewItem(const CpDataFormButtonEntryViewItem &ohter) \n  + 2. Function Descrition: \n    + 2.1 Create CpDataFormButtonEntryViewItem object with another CpDataFormButtonEntryViewItem object.\n    + 2.2 verify object created successfully.\n    + 2.3 delete the object.\n   + 3. Input Parameters: \n  + @param: CpDataFormButtonEntryViewItem object.\n + 4. Expected result: \n   + case run without verify failed.\n + */ +void TestCpDataFormButtonEntryViewItem::testCpDataFormButtonEntryViewItemWithCopyConstructor() + { + MyCpDataFormButtonEntryViewItem * item1 = new MyCpDataFormButtonEntryViewItem(); + QVERIFY( item1 != 0 ); + + MyCpDataFormButtonEntryViewItem * item2 = new MyCpDataFormButtonEntryViewItem(*item1); + QVERIFY( item2 != 0 ); + + delete item1; + delete item2; + } + +/*! + * Test Case Description:\n   + * 1. Fucntion Name:\n   + HbAbstractViewItem *createItem();\n  + 2. Function Descrition: \n    + 2.1 Create CpDataFormButtonEntryViewItem object.\n    + 2.2 verify object created successfully.\n    + 2.3 call createItem() to create a HbAbstractViewItem object.\n   + 2.4 verify the object is not 0.\n   + 2.5 delete both objects.\n   + 3. Input Parameters: \n  + @param: none.\n + 4. Expected result: \n   + case run without verify failed.\n + */ +void TestCpDataFormButtonEntryViewItem::testCreateItemWithDataForm() + { + HbDataForm * form = new HbDataForm(); + QVERIFY( form != 0 ); + + int count0 = form->itemPrototypes().count(); + CpPluginUtility::addCpItemPrototype(form); + int count1 = form->itemPrototypes().count(); + QVERIFY( count0 + 2 == count1 ); + + CpDataFormButtonEntryViewItem * item = new CpDataFormButtonEntryViewItem(form); + QVERIFY(item != 0); + + HbAbstractViewItem * pvItem1 = item->createItem(); + QVERIFY(pvItem1 != 0); + + delete pvItem1; + delete item; + delete form; + } + +/*! + * Test Case Description:\n   + * 1. Fucntion Name:\n   + HbAbstractViewItem *createItem();\n  + 2. Function Descrition: \n    + 2.1 Create CpDataFormButtonEntryViewItem object.\n    + 2.2 verify object created successfully.\n    + 2.3 call createItem() to create a HbAbstractViewItem object.\n   + 2.4 verify the object is not 0.\n   + 2.5 delete both objects.\n   + 3. Input Parameters: \n  + @param: none.\n + 4. Expected result: \n   + case run without verify failed.\n + */ +void TestCpDataFormButtonEntryViewItem::testCreateItemNoDataForm() + { + CpDataFormButtonEntryViewItem * item = new CpDataFormButtonEntryViewItem(); + QVERIFY(item != 0); + + HbAbstractViewItem * pvItem1 = item->createItem(); + QVERIFY(pvItem1 != 0); + + delete pvItem1; + delete item; + } + +/*! + * Test Case Description:\n   + * 1. Fucntion Name:\n   + CpDataFormButtonEntryViewItem &operator = (const CpDataFormButtonEntryViewItem &ohter);\n\n  + + 2. Function Descrition: \n    + 2.1 Create CpDataFormButtonEntryViewItem object.\n    + 2.2 verify object created successfully.\n    + 2.3 assign this object to another object.\n   + 2.4 delete object.\n\n   + + 3. Input Parameters: \n\n  + @param: none.\n + + 4. Expected result: \n   + case run without verify failed.\n + */ +void TestCpDataFormButtonEntryViewItem::testAssignmentOperatorWithOtherObject() + { + MyCpDataFormButtonEntryViewItem * item1 = new MyCpDataFormButtonEntryViewItem(); + QVERIFY(item1 != 0); + + MyCpDataFormButtonEntryViewItem item2; + + item2 = *item1; + + delete item1; + } + +/*! + * Test Case Description:\n   + * 1. Fucntion Name:\n   + CpDataFormButtonEntryViewItem &operator = (const CpDataFormButtonEntryViewItem &ohter);\n\n  + + 2. Function Descrition: \n    + 2.1 Create CpDataFormButtonEntryViewItem object.\n    + 2.2 verify object created successfully.\n    + 2.3 assign this object to itself.\n   + 2.4 delete object.\n\n   + + 3. Input Parameters: \n\n  + @param: none.\n + + 4. Expected result: \n   + case run without verify failed.\n + */ +void TestCpDataFormButtonEntryViewItem::testAssignmentOperatorBySelf() + { + MyCpDataFormButtonEntryViewItem * item1 = new MyCpDataFormButtonEntryViewItem(); + QVERIFY(item1 != 0); + + *item1 = *item1; + + delete item1; + } + +/*! + * Test Case Description:\n   + * 1. Fucntion Name:\n   + HbWidget *createCustomWidget(); + + 2. Function Descrition: \n    + + 3. Input Parameters: \n\n  + @param: none.\n + + 4. Expected result: \n   + case run without verify failed.\n + */ +void TestCpDataFormButtonEntryViewItem::testCreateCustomedWidgetWithDataForm() + { + HbDataForm * form = new HbDataForm(); + QVERIFY( form != 0 ); + + int count0 = form->itemPrototypes().count(); + CpPluginUtility::addCpItemPrototype(form); + int count1 = form->itemPrototypes().count(); + QVERIFY( count0 + 2 == count1 ); + + CpSettingFormEntryItemDataImpl *pdataimp1 = new CpSettingFormEntryItemDataImpl( CpSettingFormEntryItemData::ButtonEntryItem, form, "text", "description" ); + QVERIFY( pdataimp1 !=0 ); + + HbDataFormModel * model = new HbDataFormModel; + QVERIFY( model != 0 ); + + model->appendDataFormItem(pdataimp1); + form->setModel(model); + + mainWindow = new HbMainWindow; + QVERIFY( mainWindow != 0 ); + + CpBaseSettingView *mainView = new CpBaseSettingView(form); + QVERIFY( mainView != 0 ); + + QObject::connect(mainView,SIGNAL(aboutToClose()),qApp,SLOT(quit())); + HbView * view = mainWindow->addView(mainView); + QVERIFY( view != 0 ); + + mainWindow->setCurrentView(mainView); + HbView * curView = mainWindow->currentView(); + QVERIFY( curView == mainView ); + + mainWindow->show(); + } + +QTEST_MAIN(TestCpDataFormButtonEntryViewItem)