videoplayback/videoplaybackview/tsrc/testuserinputhandler/src/testuserinputhandler.cpp
changeset 62 0e1e938beb1a
parent 59 a76e86df7ccd
--- 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
-    
-
-