videoplayback/hbvideoplaybackview/tsrc/testmpxvideoplaybackbuttonbar/src/testmpxvideoplaybackbuttonbar.cpp
changeset 36 8aed59de29f9
parent 34 bbb98528c666
--- a/videoplayback/hbvideoplaybackview/tsrc/testmpxvideoplaybackbuttonbar/src/testmpxvideoplaybackbuttonbar.cpp	Thu Apr 01 23:32:44 2010 +0300
+++ b/videoplayback/hbvideoplaybackview/tsrc/testmpxvideoplaybackbuttonbar/src/testmpxvideoplaybackbuttonbar.cpp	Fri Apr 16 18:13:14 2010 +0300
@@ -15,7 +15,7 @@
 * 
 */
 
-// Version : %version:  1 %
+// Version : %version:  4 %
 
 
 #include <qdebug>
@@ -59,11 +59,11 @@
 // init
 // ---------------------------------------------------------------------------
 //
-void TestMPXVideoPlaybackButtonBar::init()
+void TestMPXVideoPlaybackButtonBar::init( bool attachOperation )
 {
     MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackButtonBar::init()"));
 
-    mController = new QMPXVideoPlaybackControlsController();   
+    mController = new QMPXVideoPlaybackControlsController( attachOperation );   
     mButtonBar = new QMPXVideoPlaybackButtonBar( mController );
 
     mButtonBar->initialize();
@@ -109,59 +109,138 @@
 }
 
 // ---------------------------------------------------------------------------
-// testStartFFSeeking
+// testLongTapOnFF
 // ---------------------------------------------------------------------------
 //
-void TestMPXVideoPlaybackButtonBar::testStartFFSeeking()
+void TestMPXVideoPlaybackButtonBar::testLongTapOnFF()
 {
-    MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackButtonBar::testStartFFSeeking()"));
+    MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackButtonBar::testLongTapOnFF()"));
 
     init();
 
+    //
+    // Start seeking
+    //
     mButtonBar->mButtons[EMPXButtonFF]->press();
+    QVERIFY( mController->mTimerAction == EMPXTimerCancel );
 
+    mButtonBar->mButtons[EMPXButtonFF]->pressing();
+
+    QVERIFY( mButtonBar->mSeekingState == EMPXFastForwarding );
     QVERIFY( mButtonBar->mButtons[EMPXButtonFF]->mSelected == true );
-    QVERIFY( mController->mTimerAction == EMPXTimerCancel );
     QVERIFY( mController->mCommand == EMPXPbvCmdSeekForward );
 
+    //
+    // End seeking
+    //
+    mButtonBar->mButtons[EMPXButtonFF]->release();
+
+    QVERIFY( mButtonBar->mSeekingState == EMPXNotSeeking );
+    QVERIFY( mButtonBar->mButtons[EMPXButtonFF]->mSelected == false );
+    QVERIFY( mController->mTimerAction == EMPXTimerReset );
+    QVERIFY( mController->mCommand == EMPXPbvCmdEndSeek );
+
     cleanup();
 }
 
 // ---------------------------------------------------------------------------
-// testStartRWSeeking
+// testLongTapOnRW
 // ---------------------------------------------------------------------------
 //
-void TestMPXVideoPlaybackButtonBar::testStartRWSeeking()
+void TestMPXVideoPlaybackButtonBar::testLongTapOnRW()
 {
-    MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackButtonBar::testStartRWSeeking()"));
+    MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackButtonBar::testLongTapOnRW()"));
 
     init();
 
+    //
+    // Start seeking
+    //
     mButtonBar->mButtons[EMPXButtonRW]->press();
+    QVERIFY( mController->mTimerAction == EMPXTimerCancel );
 
+    mButtonBar->mButtons[EMPXButtonRW]->pressing();
+
+    QVERIFY( mButtonBar->mSeekingState == EMPXRewinding );
     QVERIFY( mButtonBar->mButtons[EMPXButtonRW]->mSelected == true );
-    QVERIFY( mController->mTimerAction == EMPXTimerCancel );
     QVERIFY( mController->mCommand == EMPXPbvCmdSeekBackward );
 
+    //
+    // End seeking
+    //
+    mButtonBar->mButtons[EMPXButtonRW]->release();
+
+    QVERIFY( mButtonBar->mSeekingState == EMPXNotSeeking );
+    QVERIFY( mButtonBar->mButtons[EMPXButtonRW]->mSelected == false );
+    QVERIFY( mController->mTimerAction == EMPXTimerReset );
+    QVERIFY( mController->mCommand == EMPXPbvCmdEndSeek );
+
     cleanup();
 }
 
 // ---------------------------------------------------------------------------
-// testEndSeeking
+// testShortTapOnFF
 // ---------------------------------------------------------------------------
 //
-void TestMPXVideoPlaybackButtonBar::testEndSeeking()
+void TestMPXVideoPlaybackButtonBar::testShortTapOnFF()
 {
-    MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackButtonBar::testEndSeeking()"));
+    MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackButtonBar::testShortTapOnFF()"));
 
     init();
 
+    //
+    // If mPostion + KMPXFastForward < mDuration
+    //
+    mButtonBar->mPosition = 30;
+    mButtonBar->mDuration = 70;
+    mButtonBar->mButtons[EMPXButtonFF]->release();
+
+    QVERIFY( mController->mTimerAction == EMPXTimerReset );
+    QVERIFY( mController->mCommand == EMPXPbvCmdSetPosition );
+    QVERIFY( mController->mCommandValue == mButtonBar->mPosition + KMPXFastForward );
+
+    //
+    // If mPostion + KMPXFastForward < mDuration
+    //
+    mButtonBar->mDuration = 50;
+    mController->mCommand = EMPXPbvCmdPlay;
+
+    mButtonBar->mButtons[EMPXButtonFF]->release();
+    QVERIFY( mController->mTimerAction == EMPXTimerReset );
+    QVERIFY( mController->mCommand == EMPXPbvCmdPlay );
+
+    cleanup();
+}
+
+// ---------------------------------------------------------------------------
+// testShortTapOnRW
+// ---------------------------------------------------------------------------
+//
+void TestMPXVideoPlaybackButtonBar::testShortTapOnRW()
+{
+    MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackButtonBar::testShortTapOnRW()"));
+
+    init();
+
+    //
+    // If mPostion + KMPXRewind > 0
+    //
+    mButtonBar->mPosition = 30;
     mButtonBar->mButtons[EMPXButtonRW]->release();
 
-    QVERIFY( mButtonBar->mButtons[EMPXButtonFF]->mSelected == false );
-    QVERIFY( mButtonBar->mButtons[EMPXButtonRW]->mSelected == false );
     QVERIFY( mController->mTimerAction == EMPXTimerReset );
-    QVERIFY( mController->mCommand == EMPXPbvCmdEndSeek );
+    QVERIFY( mController->mCommand == EMPXPbvCmdSetPosition );
+    QVERIFY( mController->mCommandValue == mButtonBar->mPosition + KMPXRewind );
+
+    //
+    // If mPostion + KMPXRewind < 0
+    //
+    mButtonBar->mPosition = 4;
+    mButtonBar->mButtons[EMPXButtonRW]->release();
+
+    QVERIFY( mController->mTimerAction == EMPXTimerReset );
+    QVERIFY( mController->mCommand == EMPXPbvCmdSetPosition );
+    QVERIFY( mController->mCommandValue == 0 );
 
     cleanup();
 }
@@ -402,4 +481,60 @@
     cleanup();
 }
 
+// ---------------------------------------------------------------------------
+// testAttach
+// ---------------------------------------------------------------------------
+//
+void TestMPXVideoPlaybackButtonBar::testAttach()
+{
+    MPX_ENTER_EXIT(_L("TestMPXVideoPlaybackButtonBar::testAttach()"));
+
+    //
+    // test when 'attach' operation is enabled
+    //
+    init( true );
+
+    //
+    // verify 'attach' button is visible
+    //
+    QVERIFY( mButtonBar->mButtons[EMPXButtonAttach]->isVisible() == true );
+    
+    //
+    // release 'attach' button
+    //
+    mButtonBar->mButtons[EMPXButtonAttach]->release();
+
+    //
+    // verify the controller attachVideo() slot has been called
+    //
+    QVERIFY( mController->mCommand == EMPXPbvCmdClose );
+    QVERIFY( mController->mAttachVideoDone == true );
+    
+    //
+    // clean up
+    //
+    cleanup();
+    
+    //
+    // test when 'attach' operation is disabled
+    //
+    init();
+
+    //
+    // verify 'attach' button is not visible
+    //
+    QVERIFY( mButtonBar->mButtons[EMPXButtonAttach]->isVisible() == false );
+        
+    //
+    // verify the controller attachVideo() slot is not called
+    //
+    QVERIFY( mController->mAttachVideoDone == false );
+    
+    //
+    // clean up
+    //
+    cleanup();
+    
+}
+
 // End of file