diff -r bbb98528c666 -r 3738fe97f027 videocollection/videocollectionview/tsrc/testhintwidget/src/testhintwidget.cpp --- a/videocollection/videocollectionview/tsrc/testhintwidget/src/testhintwidget.cpp Thu Apr 01 23:22:15 2010 +0300 +++ b/videocollection/videocollectionview/tsrc/testhintwidget/src/testhintwidget.cpp Thu Apr 01 23:32:44 2010 +0300 @@ -41,6 +41,7 @@ HbApplication app(argc, argv); HbApplication::setKeypadNavigationEnabled(false); HbMainWindow mainWnd; + hbInstance->mWindowses.append(&mainWnd); TestHintWidget tv; @@ -89,11 +90,10 @@ { mUiLoader = new VideoCollectionUiLoader; + HbDocumentLoader::mFindWidgetFails = false; bool ok(false); - bool shouldBeOk(VideoCollectionUiLoaderData::mFindFailure); - - mObjectList = mUiLoader->load(DOCML_VIDEOCOLLECTIONVIEW_FILE, &ok); - if(!ok && shouldBeOk) + mUiLoader->load(DOCML_VIDEOCOLLECTIONVIEW_FILE, &ok); + if(!ok) { cleanup(); QFAIL("docml loading failed!"); @@ -132,13 +132,6 @@ mUiLoader = 0; } - int count = mObjectList.count(); - for (int i = count - 1; i >= 0; i--) - { - QObject *object = mObjectList.takeAt(i); - delete object; - } - VideoCollectionViewUtilsData::reset(); VideoCollectionUiLoaderData::reset(); } @@ -204,9 +197,6 @@ { init(true); - HbLabel *hintLabel = mUiLoader->findWidget(DOCML_NAME_HINT_LABEL); - QVERIFY(hintLabel); - mTestObject->setVisible(false); // mServiceIconString empty. @@ -214,6 +204,7 @@ mTestObject->activate(); QVERIFY(mTestObject->mServiceIcon == 0); QVERIFY(mTestObject->isVisible() == false); + QVERIFY(mTestObject->mActivated == false); // mServiceIconPressedString empty. mTestObject->mServiceIconString = "test"; @@ -221,10 +212,13 @@ mTestObject->activate(); QVERIFY(mTestObject->mServiceIcon == 0); QVERIFY(mTestObject->isVisible() == false); + QVERIFY(mTestObject->mActivated == false); // successful case. mTestObject->mServiceIconPressedString = "test2"; - hintLabel->setVisible(false); + HbLabel *noVideosLabel = mUiLoader->findWidget(DOCML_NAME_NO_VIDEOS_LABEL); + QVERIFY(noVideosLabel); + noVideosLabel->setVisible(false); mTestObject->activate(); QVERIFY(mTestObject->isVisible()); @@ -232,7 +226,8 @@ QCOMPARE(mTestObject->mServiceIcon->iconName(), mTestObject->mServiceIconString); QCOMPARE(mTestObject->mServiceIcon->iconName(QIcon::Normal, QIcon::On), mTestObject->mServiceIconPressedString); - QVERIFY(hintLabel->isVisible()); // checks that updateUiComponents() has been called. + QVERIFY(noVideosLabel->isVisible()); // checks that updateUiComponents() has been called. + QVERIFY(mTestObject->mActivated == true); cleanup(); } @@ -245,24 +240,40 @@ { init(true); + mTestObject->setVisible(true); + mTestObject->mActivated = true; + + // when serviceButton does not exist + mTestObject->mServiceIcon = 0; + mTestObject->mAddVideosIcon = 0; + HbDocumentLoader::mFindWidgetFails = true; + mTestObject->deactivate(); + QVERIFY(mTestObject->mActivated == false); + QVERIFY(mTestObject->isVisible() == false); + + // when icons are null, but servicebutton has non-null icon. + mTestObject->mActivated = true; + mTestObject->setVisible(true); + HbDocumentLoader::mFindWidgetFails = false; HbPushButton *serviceButton = mUiLoader->findWidget(DOCML_NAME_HINT_BUTTON); QVERIFY(serviceButton); - - mTestObject->setVisible(true); - serviceButton->setIcon(HbIcon(QIcon(QPixmap(QSize(100,100))))); - mTestObject->mServiceIcon = 0; - mTestObject->mAddVideosIcon = 0; QVERIFY(serviceButton->icon().isNull() == false); // make sure test is valid. - mTestObject->deactivate(); QVERIFY(serviceButton->icon().isNull()); QVERIFY(mTestObject->isVisible() == false); + // when icons are non-null, but widget is not activated. mTestObject->setVisible(true); mTestObject->mServiceIcon = new HbIcon; mTestObject->mAddVideosIcon = new HbIcon; + mTestObject->deactivate(); + QVERIFY(mTestObject->mServiceIcon != 0); + QVERIFY(mTestObject->mAddVideosIcon != 0); + QVERIFY(mTestObject->isVisible() == true); + // when icons are non-null and widget is activated. + mTestObject->mActivated = true; mTestObject->deactivate(); QVERIFY(mTestObject->mServiceIcon == 0); QVERIFY(mTestObject->mAddVideosIcon == 0); @@ -282,15 +293,21 @@ init(true); + mTestObject->mServiceIcon = new HbIcon(QIcon(QPixmap(QSize(100,100)))); + mTestObject->mAddVideosIcon = new HbIcon(QIcon(QPixmap(QSize(50,50)))); + mTestObject->mActivated = true; + + HbDocumentLoader::mFindWidgetFails = true; + // when a widget cannot be found. + mTestObject->setLevel(VideoHintWidget::AllVideos); + // no verification possible except that it doesn't crash? + + HbDocumentLoader::mFindWidgetFails = false; HbLabel *hintLabel = mUiLoader->findWidget(DOCML_NAME_HINT_LABEL); QVERIFY(hintLabel); HbPushButton *serviceButton = mUiLoader->findWidget(DOCML_NAME_HINT_BUTTON); QVERIFY(serviceButton); - mTestObject->mServiceIcon = new HbIcon(QIcon(QPixmap(QSize(100,100)))); - mTestObject->mAddVideosIcon = new HbIcon(QIcon(QPixmap(QSize(50,50)))); - mTestObject->setVisible(true); - mainWnd->setOrientation(Qt::Vertical); mTestObject->setLevel(VideoHintWidget::AllVideos); QVERIFY(serviceButton->isVisible() == false); @@ -299,12 +316,17 @@ QVERIFY(hintLabel->isVisible()); mainWnd->setOrientation(Qt::Horizontal); + mTestObject->mButtonShown = true; mTestObject->setLevel(VideoHintWidget::Collection); QVERIFY(serviceButton->isVisible()); QVERIFY(serviceButton->icon().isNull() == false); QVERIFY(serviceButton->icon().qicon().cacheKey() == mTestObject->mAddVideosIcon->qicon().cacheKey()); QVERIFY(hintLabel->isVisible() == false); + mTestObject->mButtonShown = false; + mTestObject->setLevel(VideoHintWidget::Collection); + QVERIFY(serviceButton->isVisible() == false); + cleanup(); } @@ -319,37 +341,40 @@ HbMainWindow *mainWnd = hbInstance->allMainWindows()[0]; mainWnd->setOrientation(Qt::Horizontal); + connect(this, SIGNAL(testSignal(Qt::Orientation)), mainWnd, SIGNAL(orientationChanged(Qt::Orientation))); init(true); - HbPushButton *serviceButton = mUiLoader->findWidget(DOCML_NAME_HINT_BUTTON); - QVERIFY(serviceButton); + HbLabel *noVideosLabel = mUiLoader->findWidget(DOCML_NAME_NO_VIDEOS_LABEL); + QVERIFY(noVideosLabel); mTestObject->mServiceIconString = "dummy"; mTestObject->mServiceIconPressedString = "dummy2"; // test that updateUiComponents is not called when only initialize has been called, // ie that no activate calls have been made yet. + // mTestObject->setVisible is needed because othervise childs cannot be set visible, ie the + // serviceButton->setVisible does not work as expected. mTestObject->setVisible(true); - serviceButton->setVisible(true); - mainWnd->setOrientation(Qt::Vertical); - QVERIFY(serviceButton->isVisible()); + noVideosLabel->setVisible(true); + emit testSignal(Qt::Vertical); + QVERIFY(noVideosLabel->isVisible()); mTestObject->setVisible(false); // tests that updateUiComponents is called when widget is visible. mTestObject->activate(); - serviceButton->setVisible(false); - mainWnd->setOrientation(Qt::Horizontal); - QVERIFY(serviceButton->isVisible()); + noVideosLabel->setVisible(false); + emit testSignal(Qt::Horizontal); + QVERIFY(noVideosLabel->isVisible()); mTestObject->deactivate(); // tests that updateUiComponents is not called when widget is not visible: - - // this is needed because othervise childs cannot be set visible, ie the next line does not work as expected. + // mTestObject->setVisible is needed because othervise childs cannot be set visible, ie the + // serviceButton->setVisible does not work as expected. mTestObject->setVisible(true); - serviceButton->setVisible(true); - mainWnd->setOrientation(Qt::Vertical); - QVERIFY(serviceButton->isVisible()); + noVideosLabel->setVisible(true); + emit testSignal(Qt::Vertical); + QVERIFY(noVideosLabel->isVisible()); cleanup(); }