videoplayerapp/videoplayerengine/tsrc/testvideoplayerengine/src/testvideoplayerengine.cpp
changeset 46 adbe7d5ba2f5
parent 28 c48470be1ba7
child 52 e3cecb93e76a
--- a/videoplayerapp/videoplayerengine/tsrc/testvideoplayerengine/src/testvideoplayerengine.cpp	Fri Jun 11 13:39:54 2010 +0300
+++ b/videoplayerapp/videoplayerengine/tsrc/testvideoplayerengine/src/testvideoplayerengine.cpp	Wed Jun 23 18:14:16 2010 +0300
@@ -15,7 +15,7 @@
 *
 */
 
-// Version : %version: da1mmcf#13 %
+// Version : %version: 14 %
 
 // INCLUDES
 #include <QtTest/QtTest>
@@ -36,6 +36,7 @@
 #include "stub/inc/mpxviewpluginqt.h"
 #include "stub/inc/videoservices.h"
 #include "stub/inc/xqpluginloader.h"
+#include "stub/inc/videoactivitystate.h"
 #include "../stub/inc/mpxvideoplaybackwrapper.h"
 #include "mpxvideo_debug.h"
 
@@ -79,8 +80,10 @@
     
     XQPluginLoader::cleanup();
     
-    delete mTestObject;
-    mTestObject = 0;
+    if(!mTestObject.isNull())
+    {
+        delete mTestObject;
+    }
 }
 
 
@@ -116,8 +119,10 @@
     mFileDetailsViewPlugin = 0;
     mVideoServices         = 0;
 
-    delete mTestObject;
-    mTestObject = 0;
+    if(!mTestObject.isNull())
+    {
+        delete mTestObject;
+    }
 }
 
 
@@ -128,7 +133,7 @@
     //Test object creation and deletion
 	init();
 
-    QVERIFY(mTestObject);
+    QVERIFY(!mTestObject.isNull());
 
     QVERIFY(mTestObject->mCurrentViewPlugin == 0);
     QVERIFY(mTestObject->mPlaybackViewPlugin == 0);
@@ -152,7 +157,7 @@
     //Test object creation and deletion
 	init(true);
 
-    QVERIFY(mTestObject);
+    QVERIFY(!mTestObject.isNull());
 
     QVERIFY(mTestObject->mCurrentViewPlugin == 0);
     QVERIFY(mTestObject->mPlaybackViewPlugin == 0);
@@ -174,7 +179,7 @@
     
     init();
 
-    QVERIFY(mTestObject);
+    QVERIFY(!mTestObject.isNull());
     QVERIFY(mTestObject->mCurrentViewPlugin == 0);
     QVERIFY(mTestObject->mPlaybackViewPlugin == 0);
     QVERIFY(mTestObject->mCollectionViewPlugin == 0);
@@ -209,7 +214,7 @@
     
     init(true);
 
-    QVERIFY(mTestObject);
+    QVERIFY(!mTestObject.isNull());
     QVERIFY(mTestObject->mCurrentViewPlugin == 0);
     QVERIFY(mTestObject->mPlaybackViewPlugin == 0);
     QVERIFY(mTestObject->mCollectionViewPlugin == 0);
@@ -243,7 +248,7 @@
     
 	init();
 
-    QVERIFY(mTestObject);
+    QVERIFY(!mTestObject.isNull());
     QVERIFY(mTestObject->mCurrentViewPlugin == 0);
     QVERIFY(mTestObject->mPlaybackViewPlugin == 0);
     QVERIFY(mTestObject->mCollectionViewPlugin == 0);
@@ -286,7 +291,7 @@
     
 	init(true);
 
-    QVERIFY(mTestObject);
+    QVERIFY(!mTestObject.isNull());
     QVERIFY(mTestObject->mCurrentViewPlugin == 0);
     QVERIFY(mTestObject->mPlaybackViewPlugin == 0);
     QVERIFY(mTestObject->mCollectionViewPlugin == 0);
@@ -332,7 +337,7 @@
     
 	init();
 
-    QVERIFY(mTestObject);
+    QVERIFY(!mTestObject.isNull());
 
     QVERIFY(mTestObject->mCurrentViewPlugin == 0);
     QVERIFY(mTestObject->mPlaybackViewPlugin == 0);
@@ -363,7 +368,7 @@
     
     init();
 
-    QVERIFY(mTestObject);
+    QVERIFY(!mTestObject.isNull());
 
     QVERIFY(mTestObject->mCurrentViewPlugin == 0);
     QVERIFY(mTestObject->mPlaybackViewPlugin == 0);
@@ -445,7 +450,7 @@
     
     init();
 
-    QVERIFY(mTestObject);
+    QVERIFY(!mTestObject.isNull());
 
     QVERIFY(mTestObject->mCurrentViewPlugin == 0);
     QVERIFY(mTestObject->mPlaybackViewPlugin == 0);
@@ -537,7 +542,7 @@
     
     init();
 
-    QVERIFY(mTestObject);
+    QVERIFY(!mTestObject.isNull());
 
     QVERIFY(mTestObject->mCurrentViewPlugin == 0);
     QVERIFY(mTestObject->mPlaybackViewPlugin == 0);
@@ -628,7 +633,7 @@
     
     init();
 
-    QVERIFY(mTestObject);
+    QVERIFY(!mTestObject.isNull());
 
     QVERIFY(mTestObject->mCurrentViewPlugin == 0);
     QVERIFY(mTestObject->mPlaybackViewPlugin == 0);
@@ -726,7 +731,7 @@
     
     init();
 
-    QVERIFY(mTestObject);
+    QVERIFY(!mTestObject.isNull());
 
     QVERIFY(mTestObject->mCurrentViewPlugin == 0);
     QVERIFY(mTestObject->mPlaybackViewPlugin == 0);
@@ -819,12 +824,16 @@
     
 	  // 1. test with a string
     init();    
+    QVERIFY(!mTestObject.isNull());
+    
     mTestObject->playMedia( QString("c:\\data\\videos\\test.3gp"));
     QVERIFY(mTestObject);
     cleanup();
     
     // 2. test with a file handle
     init();
+    QVERIFY(!mTestObject.isNull());
+    
     XQSharableFile sf;
     if ( sf.open("C:\\data\\videos\\test.3gp") )
     {
@@ -843,6 +852,8 @@
 
     // 3. test with a filename
     init();
+    QVERIFY(!mTestObject.isNull());
+    
     QFile qfile("C:\\data\\videos\\test.3gp");
     mTestObject->playMedia( qfile.fileName() );
     QVERIFY(mTestObject);
@@ -855,12 +866,131 @@
     MPX_DEBUG(_L("TestVideoServices::testSetEmbedded()"));
     
     init();
-    QVERIFY(mTestObject);
+    QVERIFY(!mTestObject.isNull());
     mTestObject->setEmbedded();
     QVERIFY( mTestObject->mEmbedded == true );
     cleanup();
 }
 
+void TestVideoPlayerEngine::testInitWithActivityData()
+{
+    MPX_DEBUG(_L("TestVideoServices::testInitialize()"));
+       
+    init();
+    QVERIFY(!mTestObject.isNull());
+    
+    mTestObject->initialize();
+    
+    // by default, colleciton view plugin is activated
+    QVERIFY(mTestObject);
+    QVERIFY(mTestObject->mCurrentViewPlugin);
+    QVERIFY(mTestObject->mPlaybackViewPlugin == 0);
+    QVERIFY(mTestObject->mCollectionViewPlugin);
+    QVERIFY(mTestObject->mFileDetailsViewPlugin == 0);
+    QVERIFY(mTestObject->mPlaybackWrapper);
+    QVERIFY(mTestObject->mCurrentViewPlugin->activated());
+    QVERIFY(mTestObject->mCollectionViewPlugin->activated());
+    
+    cleanup();
+    init();
+    QVERIFY(!mTestObject.isNull());
+    
+    QVariant data = int(MpxHbVideoCommon::PlaybackView);
+    // playback plugin 
+    VideoActivityState::instance().setActivityData(data, VideoActivityData::KEY_VIEWPLUGIN_TYPE);
+    mTestObject->initialize();
+    QVERIFY(mTestObject);
+    QVERIFY(mTestObject->mCurrentViewPlugin);
+    QVERIFY(mTestObject->mPlaybackViewPlugin);
+    QVERIFY(mTestObject->mCollectionViewPlugin == 0);
+    QVERIFY(mTestObject->mFileDetailsViewPlugin == 0);
+    QVERIFY(mTestObject->mPlaybackWrapper);
+    QVERIFY(mTestObject->mCurrentViewPlugin->activated());
+    QVERIFY(mTestObject->mPlaybackViewPlugin->activated());
+    
+    cleanup();
+    init();
+    QVERIFY(!mTestObject.isNull());
+    
+    // only collection view and playback view are accepted, so all other cases 
+    // ends up into default: collectionview
+    data = int(MpxHbVideoCommon::VideoDetailsView);
+    VideoActivityState::instance().setActivityData(data, VideoActivityData::KEY_VIEWPLUGIN_TYPE);
+    mTestObject->initialize();
+    QVERIFY(mTestObject);
+    QVERIFY(mTestObject->mCurrentViewPlugin);
+    QVERIFY(mTestObject->mPlaybackViewPlugin == 0);
+    QVERIFY(mTestObject->mCollectionViewPlugin);
+    QVERIFY(mTestObject->mFileDetailsViewPlugin == 0);
+    QVERIFY(mTestObject->mPlaybackWrapper);
+    QVERIFY(mTestObject->mCurrentViewPlugin->activated());
+    QVERIFY(mTestObject->mCollectionViewPlugin->activated());
+    
+    cleanup();
+    
+}
+
+void TestVideoPlayerEngine::testHandleQuitWihtActivityData()
+{
+    // we make sure that engine saves correct plugin type before exit
+    // using VideoActivityState since value is saved there before actually
+    // being save to activitymanager
+    
+    init();
+    QVERIFY(!mTestObject.isNull());
+    connect(this, SIGNAL(aboutToQuit()), mTestObject, SLOT(handleQuit()));
+
+    mTestObject->initialize();
+    VideoActivityState::mAllDataGetCount = 0;
+    
+    emit aboutToQuit();
+       
+    QVariant data = QVariant();
+    data = VideoActivityState::instance().getActivityData(VideoActivityData::KEY_VIEWPLUGIN_TYPE);
+    QVERIFY(data.isValid());
+    QVERIFY(data.toInt() == MpxHbVideoCommon::CollectionView);
+    QVERIFY(VideoActivityState::mAllDataGetCount == 1);
+    
+    cleanup();
+    init();
+    QVERIFY(!mTestObject.isNull());
+    connect(this, SIGNAL(aboutToQuit()), mTestObject, SLOT(handleQuit()));
+    
+    data = int(MpxHbVideoCommon::PlaybackView);
+    VideoActivityState::instance().setActivityData(data, VideoActivityData::KEY_VIEWPLUGIN_TYPE);
+    mTestObject->initialize();
+    VideoActivityState::mAllDataGetCount = 0;
+    
+    emit aboutToQuit();
+    
+    data = QVariant();
+    data = VideoActivityState::instance().getActivityData(VideoActivityData::KEY_VIEWPLUGIN_TYPE);
+    QVERIFY(data.isValid());
+    QVERIFY(data.toInt() == MpxHbVideoCommon::PlaybackView);
+    QVERIFY(VideoActivityState::mAllDataGetCount == 1);
+    
+    cleanup();
+    init();
+    QVERIFY(!mTestObject.isNull());
+    connect(this, SIGNAL(aboutToQuit()), mTestObject, SLOT(handleQuit()));
+    
+    data = int(MpxHbVideoCommon::VideoDetailsView);
+    VideoActivityState::instance().setActivityData(data, VideoActivityData::KEY_VIEWPLUGIN_TYPE);
+    mTestObject->initialize();
+    VideoActivityState::mAllDataGetCount = 0;
+    
+    emit aboutToQuit();
+       
+    data = QVariant();
+    data = VideoActivityState::instance().getActivityData(VideoActivityData::KEY_VIEWPLUGIN_TYPE);
+    QVERIFY(data.isValid());
+    QVERIFY(data.toInt() == MpxHbVideoCommon::CollectionView);
+    QVERIFY(VideoActivityState::mAllDataGetCount == 1);
+    
+    cleanup();
+}
+
+
 void TestVideoPlayerEngine::cleanupTestCase()
 {
     MPX_DEBUG(_L("TestVideoServices::cleanupTestCase()"));