26 #include "logsmatchesview.h" |
26 #include "logsmatchesview.h" |
27 #include "logsdetailsview.h" |
27 #include "logsdetailsview.h" |
28 #include "hbstubs_helper.h" |
28 #include "hbstubs_helper.h" |
29 #include "logscontact.h" |
29 #include "logscontact.h" |
30 #include "qthighway_stub_helper.h" |
30 #include "qthighway_stub_helper.h" |
|
31 #include "logsapplication.h" |
31 |
32 |
32 //SYSTEM |
33 //SYSTEM |
33 #include <HbMainWindow.h> |
|
34 #include <QtTest/QtTest> |
34 #include <QtTest/QtTest> |
35 #include <HbView.h> |
35 #include <HbView.h> |
36 #include <hbapplication.h> |
36 #include <hbapplication.h> |
37 #include <hbactivitymanager.h> |
37 #include <hbactivitymanager.h> |
38 #include <dialpad.h> |
38 #include <dialpad.h> |
62 mService = 0; |
62 mService = 0; |
63 delete mServiceOld; |
63 delete mServiceOld; |
64 mServiceOld = 0; |
64 mServiceOld = 0; |
65 delete mMainWindow; |
65 delete mMainWindow; |
66 mMainWindow = 0; |
66 mMainWindow = 0; |
|
67 LogsApplication* app = static_cast<LogsApplication*>( qApp ); |
|
68 app->mFeatureFakeExitEnabled = false; |
|
69 app->mFeaturePreloadedEnabled = false; |
|
70 |
67 } |
71 } |
68 |
72 |
69 void UT_LogsViewManager::testConstructorDestructor() |
73 void UT_LogsViewManager::testConstructorDestructor() |
70 { |
74 { |
71 QVERIFY( mLogsViewManager ); |
75 QVERIFY( mLogsViewManager ); |
72 QVERIFY( mLogsViewManager->mComponentsRepository ); |
76 QVERIFY( mLogsViewManager->mComponentsRepository ); |
73 QVERIFY( mLogsViewManager->mMainWindow.views().count() == 1 ); |
77 QVERIFY( mLogsViewManager->mMainWindow.views().count() == 1 ); |
74 QVERIFY( mLogsViewManager->mMainWindow.currentView() != 0 ); |
78 QVERIFY( mLogsViewManager->mMainWindow.currentView() != 0 ); |
75 QVERIFY( static_cast<LogsBaseView*>( mLogsViewManager->mMainWindow.currentView() )->viewId() == LogsRecentViewId ); |
79 QVERIFY( static_cast<LogsBaseView*>( mLogsViewManager->mMainWindow.currentView() )->viewId() == LogsRecentViewId ); |
76 QVERIFY( mLogsViewManager->mViewStack.count() == 1 ); |
80 QVERIFY( mLogsViewManager->mViewStack.count() == 1 ); |
|
81 QVERIFY( !mLogsViewManager->mComponentsRepository->model()->mRefreshCalled ); |
77 |
82 |
78 delete mLogsViewManager; |
83 delete mLogsViewManager; |
79 mLogsViewManager = 0; |
84 mLogsViewManager = 0; |
80 |
85 |
81 // Contructor when activity restoring started the app |
86 // Contructor when activity restoring started the app |
85 HbStubHelper::setActivityReason(Hb::ActivationReasonActivity); |
90 HbStubHelper::setActivityReason(Hb::ActivationReasonActivity); |
86 mLogsViewManager = new LogsViewManager(*mMainWindow, *mService, *mServiceOld); |
91 mLogsViewManager = new LogsViewManager(*mMainWindow, *mService, *mServiceOld); |
87 QVERIFY( mLogsViewManager->mComponentsRepository ); |
92 QVERIFY( mLogsViewManager->mComponentsRepository ); |
88 QVERIFY( static_cast<LogsBaseView*>( mLogsViewManager->mMainWindow.currentView() )->viewId() == LogsRecentViewId ); |
93 QVERIFY( static_cast<LogsBaseView*>( mLogsViewManager->mMainWindow.currentView() )->viewId() == LogsRecentViewId ); |
89 QVERIFY( mLogsViewManager->mViewStack.count() == 1 ); |
94 QVERIFY( mLogsViewManager->mViewStack.count() == 1 ); |
90 HbStubHelper::reset(); |
95 QVERIFY( mLogsViewManager->mComponentsRepository->model()->mRefreshCalled ); |
|
96 HbStubHelper::reset(); |
|
97 |
|
98 // Constructor when service request started the app |
|
99 delete mMainWindow; |
|
100 mMainWindow = 0; |
|
101 mMainWindow = new LogsMainWindow(); |
|
102 HbStubHelper::setActivityReason(Hb::ActivationReasonNormal); |
|
103 QtHighwayStubHelper::setIsService(true); |
|
104 LogsServiceHandler* handler2 = new LogsServiceHandler(); |
|
105 mLogsViewManager->mComponentsRepository->model()->mRefreshCalled = false; |
|
106 mLogsViewManager = new LogsViewManager(*mMainWindow, *handler2, *mServiceOld); |
|
107 QVERIFY( mLogsViewManager->mComponentsRepository ); |
|
108 QVERIFY( static_cast<LogsBaseView*>( mLogsViewManager->mMainWindow.currentView() )->viewId() == LogsRecentViewId ); |
|
109 QVERIFY( mLogsViewManager->mViewStack.count() == 0 ); // Waiting for signal |
|
110 QVERIFY( mLogsViewManager->mComponentsRepository->model()->mRefreshCalled ); |
|
111 HbStubHelper::reset(); |
|
112 QtHighwayStubHelper::reset(); |
|
113 delete handler2; |
91 } |
114 } |
92 |
115 |
93 |
116 |
94 void UT_LogsViewManager::testActivateView() |
117 void UT_LogsViewManager::testActivateView() |
95 { |
118 { |
169 QVERIFY( mLogsViewManager->mMainWindow.currentView() == |
192 QVERIFY( mLogsViewManager->mMainWindow.currentView() == |
170 mLogsViewManager->mComponentsRepository->recentCallsView() ); |
193 mLogsViewManager->mComponentsRepository->recentCallsView() ); |
171 QVERIFY( mLogsViewManager->mComponentsRepository->mDialpad->mLineEdit->text() == dialString ); |
194 QVERIFY( mLogsViewManager->mComponentsRepository->mDialpad->mLineEdit->text() == dialString ); |
172 QVERIFY( HbStubHelper::isWidgetRaised() ); |
195 QVERIFY( HbStubHelper::isWidgetRaised() ); |
173 |
196 |
174 // Empty string clears dialpad input |
197 // Empty string clears dialpad input, check also that dialpad gets closed |
175 QtHighwayStubHelper::reset(); |
198 QtHighwayStubHelper::reset(); |
|
199 mLogsViewManager->mComponentsRepository->mDialpad->mIsOpen = true; |
176 mLogsViewManager->changeRecentViewViaService(XQService::LogsViewCalled, false, ""); |
200 mLogsViewManager->changeRecentViewViaService(XQService::LogsViewCalled, false, ""); |
177 QVERIFY( mLogsViewManager->mMainWindow.currentView() == |
201 QVERIFY( mLogsViewManager->mMainWindow.currentView() == |
178 mLogsViewManager->mComponentsRepository->recentCallsView() ); |
202 mLogsViewManager->mComponentsRepository->recentCallsView() ); |
179 QVERIFY( mLogsViewManager->mComponentsRepository->mDialpad->mLineEdit->text().isEmpty() ); |
203 QVERIFY( mLogsViewManager->mComponentsRepository->mDialpad->mLineEdit->text().isEmpty() ); |
180 QVERIFY( HbStubHelper::isWidgetRaised() ); |
204 QVERIFY( HbStubHelper::isWidgetRaised() ); |
|
205 QVERIFY( !mLogsViewManager->mComponentsRepository->mDialpad->mIsOpen ); |
181 |
206 |
182 //Open recent view, view stack not empty, embedded service canceled |
207 //Open recent view, view stack not empty, embedded service canceled |
183 QtHighwayStubHelper::reset(); |
208 QtHighwayStubHelper::reset(); |
184 QVERIFY( mLogsViewManager->mViewStack.count() ); |
209 QVERIFY( mLogsViewManager->mViewStack.count() ); |
185 mLogsViewManager->mViewStack.at(0)->mContact = new LogsContact(); |
210 mLogsViewManager->mViewStack.at(0)->mContact = new LogsContact(); |
217 |
242 |
218 // Simulate view allowing exit after denying it first |
243 // Simulate view allowing exit after denying it first |
219 mLogsViewManager->mComponentsRepository->recentCallsView()->mMarkingMissedAsSeen = false; |
244 mLogsViewManager->mComponentsRepository->recentCallsView()->mMarkingMissedAsSeen = false; |
220 mLogsViewManager->proceedExit(); |
245 mLogsViewManager->proceedExit(); |
221 QVERIFY( HbStubHelper::quitCalled() ); |
246 QVERIFY( HbStubHelper::quitCalled() ); |
|
247 QVERIFY( !mLogsViewManager->mComponentsRepository->model()->mCompressCalled ); |
|
248 |
|
249 // Fake exit enabled, data is compressed, app hidden and activity saved |
|
250 LogsApplication* app = static_cast<LogsApplication*>( qApp ); |
|
251 app->mFeatureFakeExitEnabled = true; |
|
252 HbStubHelper::reset(); |
|
253 mLogsViewManager->mComponentsRepository->model()->mCompressCalled = false; |
|
254 QtHighwayStubHelper::reset(); |
|
255 QCOMPARE( app->activityManager()->activities().count(), 0 ); |
|
256 mLogsViewManager->exitApplication(); |
|
257 QVERIFY( !HbStubHelper::quitCalled() ); |
|
258 QVERIFY( QtHighwayStubHelper::utilToBackground() ); |
|
259 QVERIFY( mLogsViewManager->mComponentsRepository->model()->mCompressCalled ); |
|
260 QVERIFY( HbStubHelper::isTsTaskVisibilitySet() ); |
|
261 QVERIFY( !HbStubHelper::tsTaskVisibility() ); |
|
262 QCOMPARE( app->activityManager()->activities().count(), 1 ); |
|
263 |
222 } |
264 } |
223 |
265 |
224 void UT_LogsViewManager::testStartingWithService() |
266 void UT_LogsViewManager::testStartingWithService() |
225 { |
267 { |
226 // If app is started with highway service, view is not activated |
268 // If app is started with highway service, view is not activated |
248 // before completing activation |
290 // before completing activation |
249 mLogsViewManager->mFirstActivation = true; |
291 mLogsViewManager->mFirstActivation = true; |
250 mLogsViewManager->activateView(LogsRecentViewId, true, QVariant()); |
292 mLogsViewManager->activateView(LogsRecentViewId, true, QVariant()); |
251 QVERIFY(!mLogsViewManager->mFirstActivation); |
293 QVERIFY(!mLogsViewManager->mFirstActivation); |
252 QVERIFY(mLogsViewManager->mViewActivationShowDialpad); |
294 QVERIFY(mLogsViewManager->mViewActivationShowDialpad); |
253 QVERIFY(!mLogsViewManager->mComponentsRepository->model()->mMissedCallsCounterCleared); |
|
254 mLogsViewManager->completeViewActivation(); // Simulate paint completion (viewReady signal) |
295 mLogsViewManager->completeViewActivation(); // Simulate paint completion (viewReady signal) |
255 QVERIFY(mLogsViewManager->mComponentsRepository->model()->mMissedCallsCounterCleared); |
|
256 } |
296 } |
257 |
297 |
258 void UT_LogsViewManager::testSaveActivity() |
298 void UT_LogsViewManager::testSaveActivity() |
259 { |
299 { |
260 mLogsViewManager->activateView(LogsRecentViewId, false, QVariant()); |
300 mLogsViewManager->activateView(LogsRecentViewId, false, QVariant()); |
330 connect( mLogsViewManager->mViewStack.at(0), SIGNAL(exitAllowed()), mLogsViewManager, SLOT(proceedExit()) ); |
370 connect( mLogsViewManager->mViewStack.at(0), SIGNAL(exitAllowed()), mLogsViewManager, SLOT(proceedExit()) ); |
331 emit mLogsViewManager->mViewStack.at(0)->exitAllowed(); |
371 emit mLogsViewManager->mViewStack.at(0)->exitAllowed(); |
332 QVERIFY( HbStubHelper::quitCalled() ); |
372 QVERIFY( HbStubHelper::quitCalled() ); |
333 |
373 |
334 HbStubHelper::reset(); |
374 HbStubHelper::reset(); |
|
375 mLogsViewManager->mComponentsRepository->model()->mRefreshCalled = false; |
335 mLogsViewManager->appGainedForeground(); |
376 mLogsViewManager->appGainedForeground(); |
336 emit mLogsViewManager->mViewStack.at(0)->exitAllowed(); |
377 emit mLogsViewManager->mViewStack.at(0)->exitAllowed(); |
337 QVERIFY( !HbStubHelper::quitCalled() ); |
378 QVERIFY( !HbStubHelper::quitCalled() ); |
338 } |
379 QVERIFY( !mLogsViewManager->mComponentsRepository->model()->mRefreshCalled ); |
|
380 |
|
381 // Gaining foreground causes data refresh if fake exit or preloading feature is enabled |
|
382 HbStubHelper::reset(); |
|
383 LogsApplication* app = static_cast<LogsApplication*>( qApp ); |
|
384 app->mFeatureFakeExitEnabled = true; |
|
385 mLogsViewManager->appGainedForeground(); |
|
386 QVERIFY( mLogsViewManager->mComponentsRepository->model()->mRefreshCalled ); |
|
387 QVERIFY( HbStubHelper::isTsTaskVisibilitySet() ); |
|
388 QVERIFY( HbStubHelper::tsTaskVisibility() ); |
|
389 |
|
390 HbStubHelper::reset(); |
|
391 mLogsViewManager->mComponentsRepository->model()->mRefreshCalled = false; |
|
392 app->mFeatureFakeExitEnabled = false; |
|
393 app->mFeaturePreloadedEnabled = true; |
|
394 mLogsViewManager->appGainedForeground(); |
|
395 QVERIFY( mLogsViewManager->mComponentsRepository->model()->mRefreshCalled ); |
|
396 QVERIFY( HbStubHelper::isTsTaskVisibilitySet() ); |
|
397 QVERIFY( HbStubHelper::tsTaskVisibility() ); |
|
398 } |
|
399 |
|
400 void UT_LogsViewManager::testActivityRequested() |
|
401 { |
|
402 HbApplication* hbApp = static_cast<HbApplication*>(qApp); |
|
403 HbActivityManager* manager = hbApp->activityManager(); |
|
404 |
|
405 HbStubHelper::reset(); |
|
406 HbStubHelper::setActivityId("unknownActivity"); |
|
407 mLogsViewManager->activityRequested("unknownActivity"); |
|
408 QVERIFY( !HbStubHelper::isWidgetRaised() ); |
|
409 |
|
410 HbStubHelper::setActivityId(logsActivityIdViewRecent); |
|
411 mLogsViewManager->mComponentsRepository->dialpad()->mIsOpen = false; |
|
412 mLogsViewManager->mComponentsRepository->dialpad()->mLineEdit->setText(""); |
|
413 QVariantHash params; |
|
414 params.insert(logsActivityParamShowDialpad, false); |
|
415 params.insert(logsActivityParamDialpadText, QString("")); |
|
416 params.insert(logsActivityParamInternalViewId, LogsRecentViewId); |
|
417 manager->addActivity(QString(), QVariant(), params); |
|
418 mLogsViewManager->activityRequested(logsActivityIdViewRecent); |
|
419 QVERIFY( static_cast<LogsBaseView*>( mLogsViewManager->mMainWindow.currentView() )->viewId() == LogsRecentViewId ); |
|
420 QVERIFY( !mLogsViewManager->mComponentsRepository->dialpad()->mIsOpen ); |
|
421 QCOMPARE( mLogsViewManager->mComponentsRepository->dialpad()->mLineEdit->text(), QString("") ); |
|
422 QVERIFY( HbStubHelper::isWidgetRaised() ); |
|
423 } |