diff -r e4c884866116 -r 6a40edd41841 logsui/logsapp/tsrc/ut_logsapp/src/ut_logsviewmanager.cpp --- a/logsui/logsapp/tsrc/ut_logsapp/src/ut_logsviewmanager.cpp Fri Sep 17 08:29:34 2010 +0300 +++ b/logsui/logsapp/tsrc/ut_logsapp/src/ut_logsviewmanager.cpp Mon Oct 04 00:17:41 2010 +0300 @@ -28,7 +28,9 @@ #include "hbstubs_helper.h" #include "logscontact.h" #include "qthighway_stub_helper.h" -#include "logsapplication.h" +#include "hbapplication.h" +#include "logsappsettings.h" +#include "logsforegroundwatcher.h" //SYSTEM #include @@ -50,8 +52,11 @@ { mMainWindow = new LogsMainWindow(); mService = new LogsServiceHandler(); - mServiceOld = new LogsServiceHandlerOld(); - mLogsViewManager = new LogsViewManager(*mMainWindow, *mService, *mServiceOld); + mServiceOld = new LogsServiceHandlerOld(); + int argc = 0; + char* argv = 0; + mSettings = new LogsAppSettings(argc, &argv); + mLogsViewManager = new LogsViewManager(*mMainWindow, *mService, *mServiceOld, *mSettings); } void UT_LogsViewManager::cleanup() @@ -64,9 +69,8 @@ mServiceOld = 0; delete mMainWindow; mMainWindow = 0; - LogsApplication* app = static_cast( qApp ); - app->mFeatureFakeExitEnabled = false; - app->mFeaturePreloadedEnabled = false; + delete mSettings; + mSettings = 0; } @@ -78,7 +82,7 @@ QVERIFY( mLogsViewManager->mMainWindow.currentView() != 0 ); QVERIFY( static_cast( mLogsViewManager->mMainWindow.currentView() )->viewId() == LogsRecentViewId ); QVERIFY( mLogsViewManager->mViewStack.count() == 1 ); - QVERIFY( !mLogsViewManager->mComponentsRepository->model()->mRefreshCalled ); + QVERIFY( mLogsViewManager->mComponentsRepository->model()->mRefreshCalled ); delete mLogsViewManager; mLogsViewManager = 0; @@ -88,7 +92,7 @@ mMainWindow = 0; mMainWindow = new LogsMainWindow(); HbStubHelper::setActivityReason(Hb::ActivationReasonActivity); - mLogsViewManager = new LogsViewManager(*mMainWindow, *mService, *mServiceOld); + mLogsViewManager = new LogsViewManager(*mMainWindow, *mService, *mServiceOld, *mSettings); QVERIFY( mLogsViewManager->mComponentsRepository ); QVERIFY( static_cast( mLogsViewManager->mMainWindow.currentView() )->viewId() == LogsRecentViewId ); QVERIFY( mLogsViewManager->mViewStack.count() == 1 ); @@ -103,14 +107,32 @@ QtHighwayStubHelper::setIsService(true); LogsServiceHandler* handler2 = new LogsServiceHandler(); mLogsViewManager->mComponentsRepository->model()->mRefreshCalled = false; - mLogsViewManager = new LogsViewManager(*mMainWindow, *handler2, *mServiceOld); + mLogsViewManager = new LogsViewManager(*mMainWindow, *handler2, *mServiceOld, *mSettings); QVERIFY( mLogsViewManager->mComponentsRepository ); QVERIFY( static_cast( mLogsViewManager->mMainWindow.currentView() )->viewId() == LogsRecentViewId ); QVERIFY( mLogsViewManager->mViewStack.count() == 0 ); // Waiting for signal QVERIFY( mLogsViewManager->mComponentsRepository->model()->mRefreshCalled ); + QVERIFY( !mLogsViewManager->mBackgroundStartupWatcher ); HbStubHelper::reset(); QtHighwayStubHelper::reset(); delete handler2; + + // Preloading startup + mSettings->mFeaturePreloadedEnabled = true; + delete mMainWindow; + mMainWindow = 0; + mMainWindow = new LogsMainWindow(); + mLogsViewManager->mComponentsRepository->model()->mRefreshCalled = false; + mLogsViewManager = new LogsViewManager(*mMainWindow, *mService, *mServiceOld, *mSettings); + QVERIFY( mLogsViewManager->mComponentsRepository ); + QVERIFY( static_cast( mLogsViewManager->mMainWindow.currentView() )->viewId() == LogsRecentViewId ); + QVERIFY( mLogsViewManager->mViewStack.count() == 0 ); // Waiting for coming to foreground + QVERIFY( !mLogsViewManager->mComponentsRepository->model()->mRefreshCalled ); + QVERIFY( HbStubHelper::isTsTaskVisibilitySet() ); + QVERIFY( !HbStubHelper::tsTaskVisibility() ); + QVERIFY( mLogsViewManager->mBackgroundStartupWatcher ); + HbStubHelper::reset(); + QtHighwayStubHelper::reset(); } @@ -247,11 +269,11 @@ QVERIFY( !mLogsViewManager->mComponentsRepository->model()->mCompressCalled ); // Fake exit enabled, data is compressed, app hidden and activity saved - LogsApplication* app = static_cast( qApp ); - app->mFeatureFakeExitEnabled = true; + mSettings->mFeatureFakeExitEnabledVal = 1; HbStubHelper::reset(); mLogsViewManager->mComponentsRepository->model()->mCompressCalled = false; QtHighwayStubHelper::reset(); + HbApplication* app = static_cast( qApp ); QCOMPARE( app->activityManager()->activities().count(), 0 ); mLogsViewManager->exitApplication(); QVERIFY( !HbStubHelper::quitCalled() ); @@ -272,7 +294,7 @@ LogsServiceHandler service; LogsServiceHandlerOld serviceOld; service.mIsAppStartedUsingService = true; - LogsViewManager vm(window, service, serviceOld); + LogsViewManager vm(window, service, serviceOld, *mSettings); QVERIFY( vm.mComponentsRepository ); QVERIFY( vm.mMainWindow.views().count() == 0 ); QVERIFY( vm.mMainWindow.currentView() == 0 ); @@ -379,18 +401,22 @@ QVERIFY( !mLogsViewManager->mComponentsRepository->model()->mRefreshCalled ); // Gaining foreground causes data refresh if fake exit or preloading feature is enabled + // If no view activated yet, default view is activated HbStubHelper::reset(); - LogsApplication* app = static_cast( qApp ); - app->mFeatureFakeExitEnabled = true; + mMainWindow->setCurrentView(0); + mLogsViewManager->mViewStack.clear(); + mSettings->mFeatureFakeExitEnabledVal = 1; mLogsViewManager->appGainedForeground(); QVERIFY( mLogsViewManager->mComponentsRepository->model()->mRefreshCalled ); QVERIFY( HbStubHelper::isTsTaskVisibilitySet() ); QVERIFY( HbStubHelper::tsTaskVisibility() ); + QVERIFY( mMainWindow->currentView() != 0 ); + QCOMPARE( mLogsViewManager->mViewStack.count(), 1 ); HbStubHelper::reset(); mLogsViewManager->mComponentsRepository->model()->mRefreshCalled = false; - app->mFeatureFakeExitEnabled = false; - app->mFeaturePreloadedEnabled = true; + mSettings->mFeatureFakeExitEnabledVal = 0; + mSettings->mFeaturePreloadedEnabled = true; mLogsViewManager->appGainedForeground(); QVERIFY( mLogsViewManager->mComponentsRepository->model()->mRefreshCalled ); QVERIFY( HbStubHelper::isTsTaskVisibilitySet() ); @@ -421,3 +447,18 @@ QCOMPARE( mLogsViewManager->mComponentsRepository->dialpad()->mLineEdit->text(), QString("") ); QVERIFY( HbStubHelper::isWidgetRaised() ); } + +void UT_LogsViewManager::testBgStartupForegroundGained() +{ + if ( !mLogsViewManager->mBackgroundStartupWatcher ){ + mLogsViewManager->mBackgroundStartupWatcher = new LogsForegroundWatcher(); + } + HbStubHelper::reset(); + mLogsViewManager->mComponentsRepository->model()->mRefreshCalled = false; + mSettings->mFeaturePreloadedEnabled = true; + mLogsViewManager->bgStartupForegroundGained(); + QVERIFY( mLogsViewManager->mComponentsRepository->model()->mRefreshCalled ); + QVERIFY( HbStubHelper::isTsTaskVisibilitySet() ); + QVERIFY( HbStubHelper::tsTaskVisibility() ); + QVERIFY( HbStubHelper::isWidgetRaised() ); +}