diff -r ccd8e69b5392 -r 496ad160a278 mmsharing/livecommsui/lcui/tsrc/ut_lcui/src/ut_lcuicomponentrepository.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmsharing/livecommsui/lcui/tsrc/ut_lcui/src/ut_lcuicomponentrepository.cpp Fri Jun 11 13:36:18 2010 +0300 @@ -0,0 +1,349 @@ +/* +* 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: +* +*/ + +#include "ut_lcuicomponentrepository.h" +#include "ut_lcuidefs.h" +#include "lcuicomponentrepository.h" +#include "lcuidefs.h" +#include "lcview.h" +#include "lcuiengine.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define UT_SET_ORIENTATION(orient) \ +HbInstance::instance()->allMainWindows().at(0)->setOrientation(orient); + +void UT_LcUiComponentRepository::initTestCase() +{ +} + +void UT_LcUiComponentRepository::cleanupTestCase() +{ +} + + +void UT_LcUiComponentRepository::init() +{ + mEngine = new LcUiEngine( lcEngineName, lcDisplayName ); + mRepository = new LcUiComponentRepository( *mEngine ); +} + +void UT_LcUiComponentRepository::cleanup() +{ + delete mRepository; + delete mEngine; +} + +void UT_LcUiComponentRepository::testConstructor() +{ + QVERIFY( mRepository ); + QVERIFY( !mRepository->mIdleView ); + QVERIFY( !mRepository->mReceiveView ); + QVERIFY( !mRepository->mReceiveOnlyView ); + QVERIFY( !mRepository->mTwowayView ); + QVERIFY( !mRepository->mSendView ); + QVERIFY( !mRepository->mAllInOneView ); + QVERIFY( !mRepository->mAcceptQuery ); + QVERIFY( !mRepository->mInvitingNote ); + QVERIFY( !mRepository->mWaitingNote ); + QVERIFY( !mRepository->mRecipientQuery ); + QVERIFY( !mRepository->mZoomSlider ); + +} + +void UT_LcUiComponentRepository::testIdleView() +{ + // View not yet loaded + // Portrait layout + UT_SET_ORIENTATION( Qt::Vertical ); + QVERIFY( !mRepository->mIdleView ); + LcView* view = mRepository->idleView(); + QVERIFY( mRepository->mIdleView ); + QCOMPARE( view->objectName(), QString( lcViewIdleId ) ); + + // View loaded + LcView* view2 = mRepository->idleView(); + QVERIFY( view == view2 ); +} + +void UT_LcUiComponentRepository::testReceiveView() +{ + // View not yet loaded + // Landscape layout + UT_SET_ORIENTATION( Qt::Horizontal ); + QVERIFY( !mRepository->mReceiveView ); + LcView* view = mRepository->receiveView(); + QVERIFY( mRepository->mReceiveView ); + QCOMPARE( view->objectName(), QString( lcViewReceiveId ) ); + + // View loaded + LcView* view2 = mRepository->receiveView(); + QVERIFY( view == view2 ); +} + + +void UT_LcUiComponentRepository::testReceiveOnlyView() +{ + // View not yet loaded + QVERIFY( !mRepository->mReceiveOnlyView ); + LcView* view = mRepository->receiveOnlyView(); + QVERIFY( mRepository->mReceiveOnlyView ); + QCOMPARE( view->objectName(), QString( lcViewReceiveOnlyId ) ); + + // View loaded + LcView* view2 = mRepository->receiveOnlyView(); + QVERIFY( view == view2 ); +} + + +void UT_LcUiComponentRepository::testTwowayView() +{ + // View not yet loaded + QVERIFY( !mRepository->mTwowayView ); + LcView* view = mRepository->twowayView(); + QVERIFY( mRepository->mTwowayView ); + QCOMPARE( view->objectName(), QString( lcViewTwowayId ) ); + + // View loaded + LcView* view2 = mRepository->twowayView(); + QVERIFY( view == view2 ); +} + +void UT_LcUiComponentRepository::testSendView() +{ + // View not yet loaded + QVERIFY( !mRepository->mSendView ); + LcView* view = mRepository->sendView(); + QVERIFY( mRepository->mSendView ); + QCOMPARE( view->objectName(), QString( lcViewSendId ) ); + + // View loaded + LcView* view2 = mRepository->sendView(); + QVERIFY( view == view2 ); +} + +void UT_LcUiComponentRepository::testAllInOneView() +{ + // View not yet loaded + UT_SET_ORIENTATION( Qt::Vertical ); + QVERIFY( !mRepository->mAllInOneView ); + LcView* view = mRepository->allInOneView(); + QVERIFY( mRepository->mAllInOneView ); + QCOMPARE( view->objectName(), QString( lcViewAllInOneId ) ); + QCOMPARE( mRepository->mLayoutSection, QString( lcLayoutPortraitDefaultId ) ); + // View loaded + LcView* view2 = mRepository->allInOneView(); + QVERIFY( view == view2 ); + + // Try fresh loading in landscape orientation + UT_SET_ORIENTATION( Qt::Horizontal ); + mRepository->mAllInOneView = 0; + view = mRepository->allInOneView(); + QVERIFY( mRepository->mAllInOneView ); + QCOMPARE( view->objectName(), QString( lcViewAllInOneId ) ); + QCOMPARE( mRepository->mLayoutSection, QString( lcLayoutLandscapeDefaultId ) ); +} + +void UT_LcUiComponentRepository::testAcceptQuery() +{ + // Query created and returned + QVERIFY( !mRepository->mAcceptQuery ); + HbDialog* query = mRepository->acceptQuery(); + QVERIFY( query ); + QCOMPARE( query, mRepository->mAcceptQuery ); + QVERIFY( !query->isVisible() ); + + // Existing query returned + HbDialog* query2 = mRepository->acceptQuery(); + QVERIFY( query2 ); + QVERIFY( query2 == query ); +} + +void UT_LcUiComponentRepository::testInvitingNote() +{ + // Note created and returned + QVERIFY( !mRepository->mInvitingNote ); + HbDialog* note = mRepository->invitingNote(); + QVERIFY( note ); + QVERIFY( note == mRepository->mInvitingNote ); + QVERIFY( !note->isVisible() ); + + // Existing note returned + HbDialog* note2 = mRepository->invitingNote(); + QVERIFY( note2 ); + QVERIFY( note2 == note ); +} + +void UT_LcUiComponentRepository::testWaitingNote() +{ + // Note created and returned + QVERIFY( !mRepository->mWaitingNote ); + HbDialog* note = mRepository->waitingNote(); + QVERIFY( note ); + QVERIFY( note == mRepository->mWaitingNote ); + QVERIFY( !note->isVisible() ); + + // Existing note returned + HbDialog* note2 = mRepository->waitingNote(); + QVERIFY( note2 ); + QVERIFY( note2 == note ); +} + +void UT_LcUiComponentRepository::testRecipientQuery() +{ + // Query created and returned + QVERIFY( !mRepository->mRecipientQuery ); + HbDialog* query = mRepository->recipientQuery(); + QVERIFY( mRepository->mRecipientQuery ); + QCOMPARE( query, mRepository->mRecipientQuery ); + QVERIFY( !query->isVisible() ); + + // Existing query returned + HbDialog* query2 = mRepository->recipientQuery(); + QVERIFY( query2 == query ); +} + +void UT_LcUiComponentRepository::testShareOwnVideoQuery() +{ + // Query created and returned + QVERIFY( !mRepository->mShareOwnVideoQuery ); + HbDialog* query = mRepository->shareOwnVideoQuery(); + QVERIFY( mRepository->mShareOwnVideoQuery ); + QCOMPARE( query, (HbDialog*)mRepository->mShareOwnVideoQuery ); + QVERIFY( !query->isVisible() ); + + // Existing query returned + HbDialog* query2 = mRepository->shareOwnVideoQuery(); + QVERIFY( query2 ); + QVERIFY( query2 == query ); +} + +void UT_LcUiComponentRepository::testZoomSlider() +{ + int sliderTimeout = 3000; // 3 Seconds Timeout + // slider created and returned + QVERIFY( !mRepository->mZoomSlider ); + HbDialog* slider = mRepository->zoomSlider(); + QVERIFY( mRepository->mZoomSlider ); + //QCOMPARE( slider, mRepository->mZoomSlider ); + QVERIFY( slider == mRepository->mZoomSlider ); + QVERIFY( !slider->isVisible() ); + QCOMPARE( sliderTimeout, slider->timeout() ); + + // Existing slider returned + HbDialog* slider2 = mRepository->zoomSlider(); + QVERIFY( slider2 == slider ); + +} + +void UT_LcUiComponentRepository::testSharedVideoContextMenu() +{ + HbMenu* menu = new HbMenu(); + QVERIFY( menu->isEmpty() ); + + QVERIFY( !mRepository->mAllInOneView ); + LcView* view = mRepository->allInOneView(); + QVERIFY( mRepository->mAllInOneView ); + QCOMPARE( view->objectName(), QString( lcViewAllInOneId ) ); + + HbAction zoom( lcActZoomId ); + HbAction changeCamera( lcActChangeCameraId ); + HbAction disableCam( lcActMenuDisableCameraId ); + HbAction changeCam( lcActMenuChangeCameraId ); + + mRepository->mActions.append( &zoom ); + mRepository->mActions.append( &changeCamera ); + mRepository->mActions.append( &disableCam ); + mRepository->mActions.append( &changeCam ); + + mRepository->sharedVideoContextMenuActions( menu, *view ); + //TBD stub implementation of void QGraphicsWidget::addAction(QAction *action); + //QVERIFY( !menu->isEmpty() ); +} + + +void UT_LcUiComponentRepository::testLoadView_FileNotFound() +{ + QObjectList viewR; + const QString vid( "view"); + const QString file( "file not found" ); + QVERIFY( !mRepository->loadView( viewR, vid, file ) ); +} + +void UT_LcUiComponentRepository::testConnect() +{ + LcView* view = mRepository->idleView(); + QVERIFY( view ); + HbAction action; + + // Existing action + action.setObjectName( QString( lcActMuteId ) ); + QVERIFY( mRepository->connect( action, *view ) ); + + // Action not found + action.setObjectName( QString( "Action not defined" ) ); + QVERIFY( !mRepository->connect( action, *view ) ); +} + + +void UT_LcUiComponentRepository::testLoadLayout() +{ + bool ok( false ); + + // View not yet loaded + QVERIFY( mRepository->mLastLoadedView.length() == 0 ); + ok = mRepository->loadLayout( lcLayoutPortraitDefaultId ); + QVERIFY( !ok ); + + // View is loaded + mRepository->mLastLoadedView = lcIdleViewFile; + ok = mRepository->loadLayout( lcLayoutPortraitDefaultId ); + QVERIFY( ok ); + + // Changing layout + ok = mRepository->loadLayout( lcLayoutLandscapeDefaultId ); + QVERIFY( ok ); + + // Loading non-existing section + ok = mRepository->loadLayout( QString("dummy_layout") ); + QVERIFY( !ok ); + + // Check for current and previously loaded layout name + mRepository->mLastLoadedView = lcIdleViewFile; + ok = mRepository->loadLayout( lcLayoutLandscapeDefaultId ); + QVERIFY( ok ); + QVERIFY( mRepository->layout() == lcLayoutLandscapeDefaultId ); + ok = mRepository->loadLayout( lcLayoutLandscapeDialpadId ); + QVERIFY( ok ); + QVERIFY( mRepository->layout() == lcLayoutLandscapeDialpadId ); + QVERIFY( mRepository->previousLayout() == lcLayoutLandscapeDefaultId ); + ok = mRepository->loadLayout( mRepository->previousLayout() ); + QVERIFY( ok ); + QVERIFY( mRepository->layout() == lcLayoutLandscapeDefaultId ); + QVERIFY( mRepository->previousLayout() == lcLayoutLandscapeDialpadId ); + +}