--- a/videoplayback/videoplaybackview/tsrc/testuserinputhandler/src/testuserinputhandler.cpp Thu Sep 02 20:28:16 2010 +0300
+++ b/videoplayback/videoplaybackview/tsrc/testuserinputhandler/src/testuserinputhandler.cpp Fri Sep 17 08:30:05 2010 +0300
@@ -1,5 +1,5 @@
/**
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* 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"
@@ -12,13 +12,18 @@
* Contributors:
*
* Description: tester for methods in User Input Handler
-*
+*
*/
#include <e32err.h>
#include <w32std.h>
#include <eikenv.h>
+#include <e32property.h>
+#include <centralrepository.h>
+#include <settingsinternalcrkeys.h>
+#include <avkondomainpskeys.h>
+
#include <hbapplication.h>
#include <hbinstance.h>
#include <QDebug>
@@ -40,30 +45,29 @@
{
HbApplication app(argc, argv);
HbMainWindow window;
-
+
TestUserInputHandler tv;
char *pass[3];
pass[0] = argv[0];
pass[1] = "-o";
pass[2] = "c:\\data\\testuserinputhandler.txt";
-
+
int res = QTest::qExec(&tv, 3, pass);
-
+
return res;
}
-
// ---------------------------------------------------------------------------
// init
// ---------------------------------------------------------------------------
//
void TestUserInputHandler::init()
-{
+{
mBaseVideoView = new VideoBasePlaybackView();
- mVideoViewWrapper = CMPXVideoViewWrapper::NewL( mBaseVideoView );
-
- mUserInputHdlr = CVideoPlaybackUserInputHandler::NewL(mVideoViewWrapper, false);
+ mVideoViewWrapper = CMPXVideoViewWrapper::NewL( mBaseVideoView );
+
+ mUserInputHdlr = CVideoPlaybackUserInputHandler::NewL( mVideoViewWrapper );
}
// ---------------------------------------------------------------------------
@@ -71,15 +75,15 @@
// ---------------------------------------------------------------------------
//
void TestUserInputHandler::cleanup()
-{
+{
delete mUserInputHdlr;
- mUserInputHdlr = NULL;
-
+ mUserInputHdlr = NULL;
+
delete mVideoViewWrapper;
mVideoViewWrapper = NULL;
-
+
delete mBaseVideoView;
- mBaseVideoView = NULL;
+ mBaseVideoView = NULL;
}
// ---------------------------------------------------------------------------
@@ -87,39 +91,39 @@
// ---------------------------------------------------------------------------
//
void TestUserInputHandler::setup()
-{
+{
}
void TestUserInputHandler::testProcessMediaKeyPlay()
-{
+{
init();
-
- mUserInputHdlr->iProcessingInputType = EVideoNone;
-
+
+ mUserInputHdlr->iProcessingInputType = EVideoNone;
+
mUserInputHdlr->ProcessMediaKey(ERemConCoreApiPlay, ERemConCoreApiButtonPress);
QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoMediaKeys );
-
+
// this event should be ignored as the 1st event is still being processed
mUserInputHdlr->ProcessMediaKey(ERemConCoreApiPause, ERemConCoreApiButtonPress);
-
+
// verify that "Play" is still being processed and not "Pause"
QVERIFY( mUserInputHdlr->iLastMediaKeyPressed == ERemConCoreApiPlay );
-
+
// send the release event for "Play"
mUserInputHdlr->ProcessMediaKey(ERemConCoreApiPlay, ERemConCoreApiButtonRelease);
-
+
// verify that no input is now being processed
QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoNone );
-
+
cleanup();
}
void TestUserInputHandler::testProcessMediaKeyPause()
-{
+{
init();
-
- mUserInputHdlr->iProcessingInputType = EVideoNone;
-
+
+ mUserInputHdlr->iProcessingInputType = EVideoNone;
+
// Issue Play
mUserInputHdlr->ProcessMediaKey(ERemConCoreApiPlay, ERemConCoreApiButtonPress);
mUserInputHdlr->ProcessMediaKey(ERemConCoreApiPlay, ERemConCoreApiButtonRelease);
@@ -127,43 +131,43 @@
// Initiate Pause
mUserInputHdlr->ProcessMediaKey(ERemConCoreApiPause, ERemConCoreApiButtonPress);
- QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoMediaKeys );
- QVERIFY( mUserInputHdlr->iLastMediaKeyPressed == ERemConCoreApiPause );
-
- mUserInputHdlr->ProcessMediaKey(ERemConCoreApiPause, ERemConCoreApiButtonRelease);
+ QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoMediaKeys );
+ QVERIFY( mUserInputHdlr->iLastMediaKeyPressed == ERemConCoreApiPause );
+
+ mUserInputHdlr->ProcessMediaKey(ERemConCoreApiPause, ERemConCoreApiButtonRelease);
QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoNone );
-
- cleanup();
-
+
+ cleanup();
+
}
void TestUserInputHandler::testProcessMediaKeyPlayPause()
-{
+{
init();
-
- mUserInputHdlr->iProcessingInputType = EVideoNone;
-
+
+ mUserInputHdlr->iProcessingInputType = EVideoNone;
+
mUserInputHdlr->ProcessMediaKey(ERemConCoreApiPausePlayFunction, ERemConCoreApiButtonClick);
- QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoNone );
-
+ QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoNone );
+
// set to background
mUserInputHdlr->iForeground = false;
-
+
mUserInputHdlr->iLastMediaKeyPressed = ENop;
// this event should be ignored as iForeground is false
mUserInputHdlr->ProcessMediaKey(ERemConCoreApiPausePlayFunction, ERemConCoreApiButtonPress);
QVERIFY( mUserInputHdlr->iLastMediaKeyPressed == ENop );
- QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoNone );
-
- cleanup();
+ QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoNone );
+
+ cleanup();
}
void TestUserInputHandler::testProcessMediaKeyStop()
-{
+{
init();
-
- mUserInputHdlr->iProcessingInputType = EVideoNone;
-
+
+ mUserInputHdlr->iProcessingInputType = EVideoNone;
+
// Issue Play
mUserInputHdlr->ProcessMediaKey(ERemConCoreApiPlay, ERemConCoreApiButtonPress);
mUserInputHdlr->ProcessMediaKey(ERemConCoreApiPlay, ERemConCoreApiButtonRelease);
@@ -171,21 +175,21 @@
// Stop
mUserInputHdlr->ProcessMediaKey(ERemConCoreApiStop, ERemConCoreApiButtonPress);
- QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoMediaKeys );
- QVERIFY( mUserInputHdlr->iLastMediaKeyPressed == ERemConCoreApiStop );
-
- mUserInputHdlr->ProcessMediaKey(ERemConCoreApiStop, ERemConCoreApiButtonRelease);
+ QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoMediaKeys );
+ QVERIFY( mUserInputHdlr->iLastMediaKeyPressed == ERemConCoreApiStop );
+
+ mUserInputHdlr->ProcessMediaKey(ERemConCoreApiStop, ERemConCoreApiButtonRelease);
QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoNone );
-
- cleanup();
+
+ cleanup();
}
void TestUserInputHandler::testProcessMediaKeyForward()
-{
+{
init();
-
- mUserInputHdlr->iProcessingInputType = EVideoNone;
-
+
+ mUserInputHdlr->iProcessingInputType = EVideoNone;
+
// Issue Play
mUserInputHdlr->ProcessMediaKey(ERemConCoreApiPlay, ERemConCoreApiButtonPress);
mUserInputHdlr->ProcessMediaKey(ERemConCoreApiPlay, ERemConCoreApiButtonRelease);
@@ -193,21 +197,21 @@
// Forward
mUserInputHdlr->ProcessMediaKey(ERemConCoreApiFastForward, ERemConCoreApiButtonPress);
- QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoMediaKeys );
- QVERIFY( mUserInputHdlr->iLastMediaKeyPressed == ERemConCoreApiFastForward );
-
- mUserInputHdlr->ProcessMediaKey(ERemConCoreApiFastForward, ERemConCoreApiButtonRelease);
+ QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoMediaKeys );
+ QVERIFY( mUserInputHdlr->iLastMediaKeyPressed == ERemConCoreApiFastForward );
+
+ mUserInputHdlr->ProcessMediaKey(ERemConCoreApiFastForward, ERemConCoreApiButtonRelease);
QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoNone );
-
- cleanup();
+
+ cleanup();
}
void TestUserInputHandler::testProcessMediaKeyRewind()
-{
+{
init();
-
- mUserInputHdlr->iProcessingInputType = EVideoNone;
-
+
+ mUserInputHdlr->iProcessingInputType = EVideoNone;
+
// Issue Play
mUserInputHdlr->ProcessMediaKey(ERemConCoreApiPlay, ERemConCoreApiButtonPress);
mUserInputHdlr->ProcessMediaKey(ERemConCoreApiPlay, ERemConCoreApiButtonRelease);
@@ -215,109 +219,102 @@
// Forward
mUserInputHdlr->ProcessMediaKey(ERemConCoreApiFastForward, ERemConCoreApiButtonPress);
- QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoMediaKeys );
- QVERIFY( mUserInputHdlr->iLastMediaKeyPressed == ERemConCoreApiFastForward );
-
- mUserInputHdlr->ProcessMediaKey(ERemConCoreApiFastForward, ERemConCoreApiButtonRelease);
+ QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoMediaKeys );
+ QVERIFY( mUserInputHdlr->iLastMediaKeyPressed == ERemConCoreApiFastForward );
+
+ mUserInputHdlr->ProcessMediaKey(ERemConCoreApiFastForward, ERemConCoreApiButtonRelease);
QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoNone );
-
+
// Rewind
mUserInputHdlr->ProcessMediaKey(ERemConCoreApiRewind, ERemConCoreApiButtonPress);
- QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoMediaKeys );
- QVERIFY( mUserInputHdlr->iLastMediaKeyPressed == ERemConCoreApiRewind );
-
- mUserInputHdlr->ProcessMediaKey(ERemConCoreApiRewind, ERemConCoreApiButtonRelease);
+ QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoMediaKeys );
+ QVERIFY( mUserInputHdlr->iLastMediaKeyPressed == ERemConCoreApiRewind );
+
+ mUserInputHdlr->ProcessMediaKey(ERemConCoreApiRewind, ERemConCoreApiButtonRelease);
QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoNone );
-
- cleanup();
+
+ cleanup();
}
void TestUserInputHandler::testProcessMediaKeyVolumeUp()
-{
+{
init();
-
- mUserInputHdlr->iProcessingInputType = EVideoNone;
-
- // Issue Play
- mUserInputHdlr->ProcessMediaKey(ERemConCoreApiPlay, ERemConCoreApiButtonPress);
- mUserInputHdlr->ProcessMediaKey(ERemConCoreApiPlay, ERemConCoreApiButtonRelease);
- QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoNone );
-
- // Volume Up
- mUserInputHdlr->ProcessMediaKey(ERemConCoreApiVolumeUp, ERemConCoreApiButtonPress);
- QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoMediaKeys );
- QVERIFY( mUserInputHdlr->iLastMediaKeyPressed == ERemConCoreApiVolumeUp );
- QVERIFY( mUserInputHdlr->iVolumeRepeatTimer->IsActive() );
- QVERIFY( mUserInputHdlr->iVolumeRepeatUp );
-
- mUserInputHdlr->ProcessMediaKey(ERemConCoreApiVolumeUp, ERemConCoreApiButtonRelease);
- QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoNone );
- QVERIFY( ! mUserInputHdlr->iVolumeRepeatTimer->IsActive() );
-
- cleanup();
-}
-void TestUserInputHandler::testProcessMediaKeyVolumeDown()
-{
- init();
-
- mUserInputHdlr->iProcessingInputType = EVideoNone;
-
+ mUserInputHdlr->iProcessingInputType = EVideoNone;
+
// Issue Play
mUserInputHdlr->ProcessMediaKey(ERemConCoreApiPlay, ERemConCoreApiButtonPress);
mUserInputHdlr->ProcessMediaKey(ERemConCoreApiPlay, ERemConCoreApiButtonRelease);
QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoNone );
-
- // Volume Down
- mUserInputHdlr->ProcessMediaKey(ERemConCoreApiVolumeDown, ERemConCoreApiButtonPress);
- QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoMediaKeys );
- QVERIFY( mUserInputHdlr->iLastMediaKeyPressed == ERemConCoreApiVolumeDown );
+
+ // Volume Up
+ mUserInputHdlr->ProcessMediaKey(ERemConCoreApiVolumeUp, ERemConCoreApiButtonPress);
+ QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoMediaKeys );
+ QVERIFY( mUserInputHdlr->iLastMediaKeyPressed == ERemConCoreApiVolumeUp );
QVERIFY( mUserInputHdlr->iVolumeRepeatTimer->IsActive() );
- QVERIFY( ! mUserInputHdlr->iVolumeRepeatUp );
-
- mUserInputHdlr->ProcessMediaKey(ERemConCoreApiVolumeDown, ERemConCoreApiButtonRelease);
- QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoNone );
- QVERIFY( ! mUserInputHdlr->iVolumeRepeatTimer->IsActive() );
-
- cleanup();
+ QVERIFY( mUserInputHdlr->iVolumeRepeatUp );
+
+ mUserInputHdlr->ProcessMediaKey(ERemConCoreApiVolumeUp, ERemConCoreApiButtonRelease);
+ QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoNone );
+ QVERIFY( ! mUserInputHdlr->iVolumeRepeatTimer->IsActive() );
+
+ cleanup();
}
-void TestUserInputHandler::testHandleTVOutEventL()
-{
-
- ///////////////////////////////
- // 1. HandleTVOutEventL(true)
- ///////////////////////////////
+void TestUserInputHandler::testProcessMediaKeyVolumeDown()
+{
init();
-
- mUserInputHdlr->iDisplayTimeOut = 0;
-
- mUserInputHdlr->HandleTVOutEventL(true);
-
- QVERIFY( mUserInputHdlr->iDisplayTimeOut != 0 );
- QVERIFY( mUserInputHdlr->iDisplayTimer->IsActive() );
-
+
+ mUserInputHdlr->iProcessingInputType = EVideoNone;
+
+ // Issue Play
+ mUserInputHdlr->ProcessMediaKey(ERemConCoreApiPlay, ERemConCoreApiButtonPress);
+ mUserInputHdlr->ProcessMediaKey(ERemConCoreApiPlay, ERemConCoreApiButtonRelease);
+ QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoNone );
+
+ // Volume Down
+ mUserInputHdlr->ProcessMediaKey(ERemConCoreApiVolumeDown, ERemConCoreApiButtonPress);
+ QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoMediaKeys );
+ QVERIFY( mUserInputHdlr->iLastMediaKeyPressed == ERemConCoreApiVolumeDown );
+ QVERIFY( mUserInputHdlr->iVolumeRepeatTimer->IsActive() );
+ QVERIFY( ! mUserInputHdlr->iVolumeRepeatUp );
+
+ mUserInputHdlr->ProcessMediaKey(ERemConCoreApiVolumeDown, ERemConCoreApiButtonRelease);
+ QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoNone );
+ QVERIFY( ! mUserInputHdlr->iVolumeRepeatTimer->IsActive() );
+
cleanup();
-
-
- ///////////////////////////////
- // 2. HandleTVOutEventL(false)
- ///////////////////////////////
- init();
-
- mUserInputHdlr->iDisplayTimeOut = 0;
-
- mUserInputHdlr->HandleTVOutEventL(false);
- QVERIFY( ! mUserInputHdlr->iDisplayTimer->IsActive() );
-
- cleanup();
-
}
+void TestUserInputHandler::testProcessMediaKeyWhenLocked()
+{
+
+ init();
+ mUserInputHdlr->iProcessingInputType = EVideoNone;
+ RProperty::Set( KPSUidAvkonDomain, KAknKeyguardStatus, true );
+ // media keys should be ignored when key lock is ON
+ mUserInputHdlr->ProcessMediaKey(ERemConCoreApiVolumeDown, ERemConCoreApiButtonPress);
+ QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoNone );
+
+ RProperty::Set( KPSUidAvkonDomain, KAknKeyguardStatus, false );
+
+ cleanup();
+}
+
+void TestUserInputHandler::testProcessMediaKeyWhenInBackground()
+{
+ init();
+
+ mUserInputHdlr->iProcessingInputType = EVideoNone;
+ mUserInputHdlr->iForeground = false;
+
+ // media keys should be ignored when not in foreground
+ mUserInputHdlr->ProcessMediaKey(ERemConCoreApiVolumeDown, ERemConCoreApiButtonPress);
+ QVERIFY( mUserInputHdlr->iProcessingInputType == EVideoNone );
+
+ cleanup();
+}
// End of file
-
-
-