logsui/logsapp/tsrc/ut_logsapp/src/ut_logsviewmanager.cpp
changeset 11 64a47b97e1e1
parent 10 b04270301d3b
child 14 f27aebe284bb
--- a/logsui/logsapp/tsrc/ut_logsapp/src/ut_logsviewmanager.cpp	Wed Jun 23 18:13:05 2010 +0300
+++ b/logsui/logsapp/tsrc/ut_logsapp/src/ut_logsviewmanager.cpp	Tue Jul 06 14:16:36 2010 +0300
@@ -68,37 +68,39 @@
 {
     QVERIFY( mLogsViewManager );
     QVERIFY( mLogsViewManager->mComponentsRepository );
-    QVERIFY( mLogsViewManager->mMainWindow.views().count() == 3 );
+    QVERIFY( mLogsViewManager->mMainWindow.views().count() == 1 );
     QVERIFY( mLogsViewManager->mMainWindow.currentView() != 0 );
     QVERIFY( static_cast<LogsBaseView*>( mLogsViewManager->mMainWindow.currentView() )->viewId() == LogsRecentViewId );
-    QVERIFY( mLogsViewManager->mViewStack.count() == 3 );
+    QVERIFY( mLogsViewManager->mViewStack.count() == 1 );
     
     delete mLogsViewManager;
     mLogsViewManager = 0;
     
     // Contructor when activity restoring started the app
+    delete mMainWindow;
+    mMainWindow = 0;
+    mMainWindow = new LogsMainWindow();
     HbStubHelper::setActivityReason(Hb::ActivationReasonActivity);
     mLogsViewManager = new LogsViewManager(*mMainWindow, *mService, *mServiceOld);
     QVERIFY( mLogsViewManager->mComponentsRepository );
-    QVERIFY( mLogsViewManager->mMainWindow.currentView() != 0 );
-    QVERIFY( static_cast<LogsBaseView*>( mLogsViewManager->mMainWindow.currentView() )->viewId() == LogsMatchesViewId );
-    QVERIFY( mLogsViewManager->mViewStack.count() == 3 );
+    QVERIFY( static_cast<LogsBaseView*>( mLogsViewManager->mMainWindow.currentView() )->viewId() == LogsRecentViewId );
+    QVERIFY( mLogsViewManager->mViewStack.count() == 1 );
     HbStubHelper::reset();
+}
 
-}
 
 void UT_LogsViewManager::testActivateView()
 {
     // Activate already active view
     QVERIFY( mLogsViewManager->activateView(LogsRecentViewId) );
     QVERIFY( mLogsViewManager->activateView(LogsRecentViewId) );
-    QCOMPARE( mLogsViewManager->mMainWindow.views().count(), 3 );
+    QCOMPARE( mLogsViewManager->mMainWindow.views().count(), 1 );
     QVERIFY( mLogsViewManager->mMainWindow.currentView() == 
              mLogsViewManager->mComponentsRepository->recentCallsView() );
     
     // Activate other view
     QVERIFY( mLogsViewManager->activateView(LogsDetailsViewId) );
-    QVERIFY( mLogsViewManager->mMainWindow.views().count() == 3 );
+    QVERIFY( mLogsViewManager->mMainWindow.views().count() == 2 );
     QVERIFY( mLogsViewManager->mMainWindow.currentView() == 
              mLogsViewManager->mComponentsRepository->detailsView() );
     QVERIFY( mLogsViewManager->mViewStack.at(0) == 
@@ -106,7 +108,7 @@
     
     // Try to activate unknown view
     QVERIFY( !mLogsViewManager->activateView(LogsUnknownViewId) );
-    QVERIFY( mLogsViewManager->mMainWindow.views().count() == 3 );
+    QVERIFY( mLogsViewManager->mMainWindow.views().count() == 2 );
     QVERIFY( mLogsViewManager->mMainWindow.currentView() == 
              mLogsViewManager->mComponentsRepository->detailsView() );
     QVERIFY( mLogsViewManager->mViewStack.at(0) == 
@@ -114,7 +116,7 @@
     
     // Go back to previous view
     QVERIFY( mLogsViewManager->activatePreviousView() );
-    QVERIFY( mLogsViewManager->mMainWindow.views().count() == 3 );
+    QVERIFY( mLogsViewManager->mMainWindow.views().count() == 2 );
     QVERIFY( mLogsViewManager->mMainWindow.currentView() == 
              mLogsViewManager->mComponentsRepository->recentCallsView() );
     QVERIFY( mLogsViewManager->mViewStack.at(0) == 
@@ -124,15 +126,32 @@
 void UT_LogsViewManager::testchangeMatchesView()
 {
     //Open Matches view, dialpad visible with predefined number
-    mLogsViewManager->changeMatchesView(QString("+123456"));
+    mLogsViewManager->changeMatchesViewViaService(QString("+123456"));
     QVERIFY( mLogsViewManager->mMainWindow.currentView() == 
              mLogsViewManager->mComponentsRepository->matchesView() );
              
     // Contact search disabled, go to recent calls view instead
     mLogsViewManager->mComponentsRepository->mModel->mPredectiveSearchStatus = 0;
-    mLogsViewManager->changeMatchesView(QString("+123456777"));
+    QString dialString("+123456777");
+    mLogsViewManager->changeMatchesViewViaService(dialString);
     QVERIFY( mLogsViewManager->mMainWindow.currentView() == 
              mLogsViewManager->mComponentsRepository->recentCallsView() );
+    QVERIFY( mLogsViewManager->mComponentsRepository->mDialpad->mLineEdit->text() == dialString );
+}
+
+void UT_LogsViewManager::testchangeRecentView()
+{
+    QString dialString("+123456777");
+    mLogsViewManager->changeRecentViewViaService(LogsServices::ViewCalled, false, dialString);
+    QVERIFY( mLogsViewManager->mMainWindow.currentView() == 
+             mLogsViewManager->mComponentsRepository->recentCallsView() );
+    QVERIFY( mLogsViewManager->mComponentsRepository->mDialpad->mLineEdit->text() == dialString );
+    
+    // Empty string clears dialpad input
+    mLogsViewManager->changeRecentViewViaService(LogsServices::ViewCalled, false, "");
+    QVERIFY( mLogsViewManager->mMainWindow.currentView() == 
+             mLogsViewManager->mComponentsRepository->recentCallsView() );
+    QVERIFY( mLogsViewManager->mComponentsRepository->mDialpad->mLineEdit->text().isEmpty() );
 }
 
 void UT_LogsViewManager::testExitApplication()
@@ -171,9 +190,9 @@
     service.mIsAppStartedUsingService = true;
     LogsViewManager vm(window, service, serviceOld);
     QVERIFY( vm.mComponentsRepository );
-    QVERIFY( vm.mMainWindow.views().count() == 3 );
+    QVERIFY( vm.mMainWindow.views().count() == 0 );
     QVERIFY( vm.mMainWindow.currentView() == 0 );
-    QVERIFY( vm.mViewStack.count() == 3 );
+    QVERIFY( vm.mViewStack.count() == 0 );
 }
 
 void UT_LogsViewManager::testHandleOrientationChanged()
@@ -196,6 +215,7 @@
 
 void UT_LogsViewManager::testSaveActivity()
 {
+    mLogsViewManager->activateView(LogsRecentViewId, false, QVariant());
     HbStubHelper::setActivityReason(Hb::ActivationReasonActivity);
     HbApplication* hbApp = static_cast<HbApplication*>(qApp);
     HbActivityManager* manager = hbApp->activityManager();
@@ -204,6 +224,7 @@
     QCOMPARE( manager->activities().count(), 1 );
     QVERIFY( !manager->activities().at(0).value(logsActivityParamShowDialpad).toBool() );
     QVERIFY( manager->activities().at(0).value(logsActivityParamDialpadText).toString().isEmpty() );
+    QCOMPARE( manager->activities().at(0).value(logsActivityParamInternalViewId).toInt(), (int)LogsRecentViewId );
     
     // Make sure that only one activity is reported
     mLogsViewManager->mComponentsRepository->dialpad()->mIsOpen = true;
@@ -212,6 +233,7 @@
     QCOMPARE( manager->activities().count(), 1 );
     QVERIFY( manager->activities().at(0).value(logsActivityParamShowDialpad).toBool() );
     QCOMPARE( manager->activities().at(0).value(logsActivityParamDialpadText).toString(), QString("12345") );
+    QCOMPARE( manager->activities().at(0).value(logsActivityParamInternalViewId).toInt(), (int)LogsMatchesViewId );
     
     // No views, nothing to save
     mLogsViewManager->mViewStack.clear();
@@ -233,6 +255,7 @@
     QVariantHash params;
     params.insert(logsActivityParamShowDialpad, false);
     params.insert(logsActivityParamDialpadText, QString(""));
+    params.insert(logsActivityParamInternalViewId, LogsRecentViewId);
     manager->addActivity(QString(), QVariant(), params);
     QVERIFY( mLogsViewManager->loadActivity() );
     QVERIFY( static_cast<LogsBaseView*>( mLogsViewManager->mMainWindow.currentView() )->viewId() == LogsRecentViewId );
@@ -245,6 +268,7 @@
     QVariantHash params2;
     params2.insert(logsActivityParamShowDialpad, true);
     params2.insert(logsActivityParamDialpadText, QString("33333"));
+    params.insert(logsActivityParamInternalViewId, LogsMatchesViewId);
     manager->addActivity(QString(), QVariant(), params2);
     QVERIFY( mLogsViewManager->loadActivity() );
     QVERIFY( static_cast<LogsBaseView*>( mLogsViewManager->mMainWindow.currentView() )->viewId() == LogsMatchesViewId );