diff -r 17f382c040b1 -r 518105d52e45 videoplayback/videoplaybackview/tsrc/testcontrolconfiguration/src/testcontrolconfiguration.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoplayback/videoplaybackview/tsrc/testcontrolconfiguration/src/testcontrolconfiguration.cpp Thu Jul 08 13:05:19 2010 +0300 @@ -0,0 +1,265 @@ +/** +* Copyright (c) 2010 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 videoplaybackcontrolconfiguration +* +*/ + +// Version : %version: 5 % + +#include +#include +#include +#include + +#include "videoplaybackcontrol.hrh" +#include "mpxhelixplaybackplugindefs.h" + +#include "testcontrolconfiguration.h" + +#include "videoplaybackviewfiledetails.h" +#include "videoplaybackcontrolscontroller.h" +#include "videoplaybackdocumentloader.h" + + +#define private public +#include "videoplaybackcontrolconfiguration.h" +#undef private + + +// --------------------------------------------------------------------------- +// main +// --------------------------------------------------------------------------- +// +int main(int argc, char *argv[]) +{ + MPX_ENTER_EXIT(_L("TestControlConfiguration::Main()")); + + HbApplication app(argc, argv); + HbMainWindow window; + + TestControlConfiguration tv; + + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\testcontrolconfiguration.txt"; + + int res = QTest::qExec(&tv, 3, pass); + + return res; +} + +// --------------------------------------------------------------------------- +// init +// --------------------------------------------------------------------------- +// +void TestControlConfiguration::init() +{ + MPX_ENTER_EXIT(_L("TestControlConfiguration::init()")); +} + +// --------------------------------------------------------------------------- +// init +// --------------------------------------------------------------------------- +// +void TestControlConfiguration::setup() +{ + MPX_ENTER_EXIT(_L("TestControlConfiguration::setup()")); + + mFileDetails = new VideoPlaybackViewFileDetails(); + + mControlsController = new VideoPlaybackControlsController( mFileDetails ); + + mControlConfig = new VideoPlaybackControlConfiguration( mControlsController ); +} + +// --------------------------------------------------------------------------- +// cleanup +// --------------------------------------------------------------------------- +// +void TestControlConfiguration::cleanup() +{ + MPX_ENTER_EXIT(_L("TestControlConfiguration::cleanup()")); + + if ( mFileDetails ) + { + delete mFileDetails; + mFileDetails = NULL; + } + + if ( mControlsController ) + { + delete mControlsController; + mControlsController = NULL; + } + + if ( mControlConfig ) + { + delete mControlConfig; + mControlConfig = NULL; + } +} + +// --------------------------------------------------------------------------- +// testControlList +// --------------------------------------------------------------------------- +// +void TestControlConfiguration::testControlList() +{ + MPX_ENTER_EXIT(_L("TestControlConfiguration::testControlList()")); + + setup(); + + // + // Streaming case + // + mFileDetails->mPlaybackMode = EMPXVideoStreaming; + + mControlConfig->createControlList(); + QList controlsList = mControlConfig->controlList(); + + QVERIFY( controlsList.contains( EStatusPane ) ); + QVERIFY( ! controlsList.contains( ERealLogoBitmap ) ); + QVERIFY( controlsList.contains( EBufferingAnimation ) ); + + cleanup(); + + // + // local + RN + // + setup(); + + mFileDetails->mPlaybackMode = EMPXVideoLocal; + mFileDetails->mRNFormat = true; + + mControlConfig->createControlList(); + controlsList = mControlConfig->controlList(); + + QVERIFY( controlsList.contains( EStatusPane ) ); + QVERIFY( controlsList.contains( ERealLogoBitmap ) ); + QVERIFY( ! controlsList.contains( EBufferingAnimation ) ); + + cleanup(); + + // + // local + non RN + // + setup(); + + mFileDetails->mPlaybackMode = EMPXVideoLocal; + mFileDetails->mRNFormat = false; + + mControlConfig->createControlList(); + controlsList = mControlConfig->controlList(); + + QVERIFY( controlsList.contains( EStatusPane ) ); + QVERIFY( ! controlsList.contains( ERealLogoBitmap ) ); + QVERIFY( ! controlsList.contains( EBufferingAnimation ) ); + + cleanup(); +} + +// --------------------------------------------------------------------------- +// testUpdateControlsWithFileDetails +// --------------------------------------------------------------------------- +// +void TestControlConfiguration::testUpdateControlsWithFileDetails() +{ + MPX_ENTER_EXIT(_L("TestControlConfiguration::testUpdateControlsWithFileDetails()")); + + setup(); + mControlConfig->createControlList(); + + // + // 1. test with mVideoEnabled = false + // + mControlsController->mFileDetails->mVideoEnabled = false; + + mControlConfig->updateControlsWithFileDetails(); + + QList controlsList = mControlConfig->controlList(); + + QVERIFY( controlsList.contains( EControlBar ) ); + + // + // 2. test with mVideoEnabled = true + // + mControlsController->mFileDetails->mVideoEnabled = false; + + mControlConfig->updateControlsWithFileDetails(); + + QVERIFY( controlsList.contains( EControlBar ) ); + + QGraphicsWidget *widget = + mControlsController->layoutLoader()->findWidget( QString( "transparentWindow" ) ); + + QVERIFY( widget->isVisible() ); + + cleanup(); +} + +// --------------------------------------------------------------------------- +// testUpdateControlList +// --------------------------------------------------------------------------- +// +void TestControlConfiguration::testUpdateControlList() +{ + MPX_ENTER_EXIT(_L("TestControlConfiguration::testUpdateControlList()")); + + setup(); + mControlConfig->createControlList(); + + // + // 1. Test for Details View + // + mControlConfig->updateControlList( EControlCmdDetailsViewOpened ); + QList controlsList = mControlConfig->controlList(); + + QVERIFY( controlsList.contains( EFileDetailsWidget ) ); + QVERIFY( controlsList.contains( EDetailsViewPlaybackWindow ) ); + QVERIFY( ! controlsList.contains( EIndicatorBitmap ) ); + + + // + // 2. Test for Fullscreen View + // + mControlConfig->updateControlList( EControlCmdFullScreenViewOpened ); + controlsList = mControlConfig->controlList(); + + QVERIFY( ! controlsList.contains( EFileDetailsWidget ) ); + QVERIFY( ! controlsList.contains( EDetailsViewPlaybackWindow ) ); + QVERIFY( ! controlsList.contains( EIndicatorBitmap ) ); + + // + // 3. Test for Audio Only View + // + mControlConfig->updateControlList( EControlCmdAudionOnlyViewOpened ); + controlsList = mControlConfig->controlList(); + + QVERIFY( ! controlsList.contains( EDetailsViewPlaybackWindow ) ); + QVERIFY( controlsList.contains( EIndicatorBitmap ) ); + QVERIFY( controlsList.contains( EFileDetailsWidget ) ); + + // + // 4. RN log gets removed + // + mControlConfig->updateControlList( EControlCmdAudionOnlyViewOpened ); + controlsList = mControlConfig->controlList(); + + QVERIFY( ! controlsList.contains( ERealLogoBitmap ) ); + + cleanup(); +} + +// End of file