videocollection/videocollectionview/tsrc/testhintwidget/src/testhintwidget.cpp
changeset 66 adb51f74b890
parent 63 4707a0db12f6
child 67 72c709219fcd
--- a/videocollection/videocollectionview/tsrc/testhintwidget/src/testhintwidget.cpp	Mon Sep 20 18:25:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,368 +0,0 @@
-/**
-* 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:   tester for methods in VideoListWidget
-*
-*/
-
-#include <hbicon.h>
-#include <hbmainwindow.h>
-#include <hbinstance.h>
-#include <hblabel.h>
-#include <hbpushbutton.h>
-#include <hbapplication.h>
-
-#include "videocollectionuiloader.h"
-#include "videocollectionviewutils.h"
-#include "videocollectionviewutilsdata.h"
-#include "videocollectionuiloaderdata.h"
-#include "testhintwidget.h"
-
-#define private public
-#include "videohintwidget.h"
-#undef private
-
-// ---------------------------------------------------------------------------
-// main
-// ---------------------------------------------------------------------------
-//
-int main(int argc, char *argv[])
-{
-    HbApplication app(argc, argv);
-    HbApplication::setKeypadNavigationEnabled(false);
-    HbMainWindow mainWnd;
-    hbInstance->mWindowses.append(&mainWnd);
-
-    TestHintWidget tv;
-    
-    int res;
-    if(argc > 1)
-    {   
-        res = QTest::qExec(&tv, argc, argv);
-    }
-    else
-    {
-        char *pass[3];
-        pass[0] = argv[0];
-        pass[1] = "-o";
-        pass[2] = "c:\\data\\testhintwidget.txt";
-        res = QTest::qExec(&tv, 3, pass);
-    }
-
-    return res;
-}
-
-// ---------------------------------------------------------------------------
-// constructor
-// ---------------------------------------------------------------------------
-//
-TestHintWidget::TestHintWidget():
-    mTestObject(0),
-    mUiLoader(0)
-{
-    // nop
-}
-
-// ---------------------------------------------------------------------------
-// destructor
-// ---------------------------------------------------------------------------
-//
-TestHintWidget::~TestHintWidget()
-{
-    cleanup();
-}
-
-// ---------------------------------------------------------------------------
-// init
-// ---------------------------------------------------------------------------
-//
-void TestHintWidget::init(bool callInitialize)
-{
-    mUiLoader = new VideoCollectionUiLoader;
-    
-    HbDocumentLoader::mFindWidgetFails = false;
-    bool ok(false);
-    mUiLoader->load(DOCML_VIDEOCOLLECTIONVIEW_FILE, &ok);
-    if(!ok)
-    {
-        cleanup();
-        QFAIL("docml loading failed!");
-    }
-    
-    mTestObject = mUiLoader->findObject<VideoHintWidget>(DOCML_NAME_VC_VIDEOHINTWIDGET);
-    if(!mTestObject)
-    {
-        mTestObject = new VideoHintWidget(mUiLoader);
-    }
-    
-    mTestObject->mHintText = "Go get some!";
-    
-    if (callInitialize)
-    {
-        mTestObject->mHintText = "";
-        mTestObject->initialize();
-    }
-}
-
-// ---------------------------------------------------------------------------
-// cleanup
-// ---------------------------------------------------------------------------
-//
-void TestHintWidget::cleanup()
-{
-    if (mUiLoader)
-    {
-        VideoHintWidget* temp = mUiLoader->findObject<VideoHintWidget>(DOCML_NAME_VC_VIDEOHINTWIDGET);
-        if (!temp)
-        {
-            // need to delete mTestObject as it is not owned by uiloader.
-            delete mTestObject;
-            mTestObject = 0;
-        }
-        mTestObject = 0;
-
-        delete mUiLoader;
-        mUiLoader = 0;
-    }
-
-    VideoCollectionViewUtilsData::reset();
-    VideoCollectionUiLoaderData::reset();    
-}
-
-// ---------------------------------------------------------------------------
-// testInitialize
-// ---------------------------------------------------------------------------
-//
-void TestHintWidget::testInitialize()
-{
-    init(false);
-
-    // Fail
-    mTestObject->mHintText = "";
-    VideoCollectionViewUtilsData::mCenRepStringValues.append(""); 
-    mTestObject->initialize();
-    QVERIFY(mTestObject->mHintText.isEmpty());
-
-    // Succeed
-    VideoCollectionViewUtilsData::mCenRepStringValues.append("test"); 
-    mTestObject->initialize();
-    QVERIFY(!mTestObject->mHintText.isEmpty());
-    
-    cleanup();
-}
-
-// ---------------------------------------------------------------------------
-// testSetLevel
-// ---------------------------------------------------------------------------
-//
-void TestHintWidget::testSetLevel()
-{
-    init(false);
-    mTestObject->setVisible(false);
-    
-    mTestObject->setLevel(VideoHintWidget::Collection);
-    QCOMPARE(mTestObject->mCurrentLevel, VideoHintWidget::Collection);
-    
-    mTestObject->setLevel(VideoHintWidget::AllVideos);
-    QCOMPARE(mTestObject->mCurrentLevel, VideoHintWidget::AllVideos);
-    
-    mTestObject->setLevel(VideoHintWidget::AllVideos);
-    QCOMPARE(mTestObject->mCurrentLevel, VideoHintWidget::AllVideos);
-    
-    mTestObject->setLevel(VideoHintWidget::Collection);
-    QCOMPARE(mTestObject->mCurrentLevel, VideoHintWidget::Collection);
-    cleanup();
-}
-
-// ---------------------------------------------------------------------------
-// testActivate
-// ---------------------------------------------------------------------------
-//
-void TestHintWidget::testActivate()
-{
-    init(false);
-
-    mTestObject->setVisible(false);
-    
-    // successful case.
-    mTestObject->mActivated = false;
-
-    HbLabel *noVideosLabel = mUiLoader->findWidget<HbLabel>(DOCML_NAME_NO_VIDEOS_LABEL);
-    QVERIFY(noVideosLabel);
-    noVideosLabel->setVisible(false);
-    
-    mTestObject->activate();
-    QVERIFY(mTestObject->isVisible());
-    QVERIFY(noVideosLabel->isVisible()); // checks that updateUiComponents() has been called.
-    QVERIFY(mTestObject->mActivated == true);
-    
-    // second call
-    noVideosLabel->setVisible(false);
-    mTestObject->activate();
-    QVERIFY(mTestObject->isVisible());    
-    QVERIFY(!noVideosLabel->isVisible()); // shouldn't call updateUiComponents() again.
-    QVERIFY(mTestObject->mActivated == true);
-    
-    cleanup();
-}
- 
-// ---------------------------------------------------------------------------
-// testDeactivate
-// ---------------------------------------------------------------------------
-//
-void TestHintWidget::testDeactivate()
-{
-    init(false);
-    
-    mTestObject->setVisible(true);
-    mTestObject->mActivated = true;
-    
-    // when serviceButton does not exist
-    HbDocumentLoader::mFindWidgetFails = true;
-    mTestObject->deactivate();
-    QVERIFY(mTestObject->mActivated == false);
-    QVERIFY(mTestObject->isVisible() == false);
-    
-    // service button exists
-    mTestObject->setVisible(true);
-    mTestObject->mActivated = true;
-    HbDocumentLoader::mFindWidgetFails = false;
-    mTestObject->deactivate();
-    QVERIFY(mTestObject->mActivated == false);
-    QVERIFY(mTestObject->isVisible() == false);
-    
-    // second call. widget is not active.
-    mTestObject->setVisible(true);
-    mTestObject->deactivate();
-    QVERIFY(mTestObject->mActivated == false);
-    QVERIFY(mTestObject->isVisible());
-    
-    cleanup();
-}
-
-// ---------------------------------------------------------------------------
-// testUpdateUiComponents
-// ---------------------------------------------------------------------------
-//
-void TestHintWidget::testUpdateUiComponents()
-{
-    HbMainWindow *mainWnd = hbInstance->allMainWindows()[0];
-    
-    init(false);
-    
-    // when a widget cannot be found.
-    mTestObject->mActivated = true;
-    mTestObject->mButtonShown = true;
-    HbDocumentLoader::mFindWidgetFails = true;
-    mTestObject->setLevel(VideoHintWidget::AllVideos);
-    // no verification possible except that it doesn't crash
-    
-    HbDocumentLoader::mFindWidgetFails = false;
-    HbLabel *hintLabel = mUiLoader->findWidget<HbLabel>(DOCML_NAME_NO_VIDEOS_LABEL);
-    QVERIFY(hintLabel);
-    HbPushButton *serviceButton = mUiLoader->findWidget<HbPushButton>(DOCML_NAME_HINT_BUTTON);
-    QVERIFY(serviceButton);
-    
-    // current level is all videos
-    serviceButton->setVisible(false);
-    mTestObject->setLevel(VideoHintWidget::AllVideos);
-    QVERIFY(hintLabel->isVisible());
-    QVERIFY(serviceButton->isVisible());
-    
-    // current level is not all videos
-    serviceButton->setVisible(true);
-    mTestObject->setLevel(VideoHintWidget::Collection);
-    QVERIFY(hintLabel->isVisible());
-    QVERIFY(serviceButton->isVisible() == false);
-
-    // no hint text
-    serviceButton->setVisible(true);
-    mTestObject->mHintText = "";
-    mTestObject->setLevel(VideoHintWidget::AllVideos);
-    QVERIFY(hintLabel->isVisible());
-    QVERIFY(serviceButton->isVisible() == false);
-    
-    cleanup();
-}
-
-// ---------------------------------------------------------------------------
-// testOrientationChangedSlot
-// ---------------------------------------------------------------------------
-//
-void TestHintWidget::testOrientationChangedSlot()
-{
-    // NOTE: This also checks that the signals are connected and
-    // disconnected correctly.
-    
-    HbMainWindow *mainWnd = hbInstance->allMainWindows()[0];
-    mainWnd->setOrientation(Qt::Horizontal);
-    connect(this, SIGNAL(testSignal(Qt::Orientation)), mainWnd, SIGNAL(orientationChanged(Qt::Orientation)));
-    
-    init(false);
-    
-    HbLabel *noVideosLabel = mUiLoader->findWidget<HbLabel>(DOCML_NAME_NO_VIDEOS_LABEL);
-    QVERIFY(noVideosLabel);
-
-    // 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);
-    noVideosLabel->setVisible(true);
-    emit testSignal(Qt::Vertical);
-    QVERIFY(noVideosLabel->isVisible());
-    mTestObject->setVisible(false);
-        
-    // tests that updateUiComponents is called when widget is visible.
-    mTestObject->activate();
-    noVideosLabel->setVisible(false);
-    emit testSignal(Qt::Horizontal);
-    QVERIFY(noVideosLabel->isVisible());    
-    mTestObject->deactivate();
-    
-    // tests that updateUiComponents is not called when widget is not visible:
-    // mTestObject->setVisible is needed because othervise childs cannot be set visible, ie the 
-    // serviceButton->setVisible does not work as expected.
-    mTestObject->setVisible(true);    
-    noVideosLabel->setVisible(true);
-    emit testSignal(Qt::Vertical);
-    QVERIFY(noVideosLabel->isVisible());
-    
-    cleanup();
-}
-
-// ---------------------------------------------------------------------------
-// testSetButtonShown
-// ---------------------------------------------------------------------------
-//
-void TestHintWidget::testSetButtonShown()
-{
-    HbMainWindow *mainWnd = hbInstance->allMainWindows()[0];
-    
-    init(true);
-    
-    HbLabel *noVideosLabel = mUiLoader->findWidget<HbLabel>(DOCML_NAME_NO_VIDEOS_LABEL);
-    QVERIFY(noVideosLabel);
-    
-    mTestObject->mActivated = true;
-    noVideosLabel->setVisible(false);
-    mTestObject->setButtonShown(true);
-    QVERIFY(noVideosLabel->isVisible());
-    
-    mTestObject->mActivated = false;
-    noVideosLabel->setVisible(false);
-    mTestObject->setButtonShown(false);
-    QVERIFY(noVideosLabel->isVisible() == false);
-}
-
-// end of file