logsui/logsapp/tsrc/ut_logsapp/src/ut_logsrecentcallsview.cpp
changeset 19 e4c884866116
parent 16 c5af8598d22c
--- a/logsui/logsapp/tsrc/ut_logsapp/src/ut_logsrecentcallsview.cpp	Thu Sep 02 20:27:05 2010 +0300
+++ b/logsui/logsapp/tsrc/ut_logsapp/src/ut_logsrecentcallsview.cpp	Fri Sep 17 08:29:34 2010 +0300
@@ -29,11 +29,11 @@
 #include "logsmessage.h"
 #include "logscontact.h"
 #include "logsmatchesmodel.h"
+#include "logsmainwindow.h"
 
 //SYSTEM
 #include <QtTest/QtTest>
 #include <hbswipegesture.h>
-#include <hbmainwindow.h>
 #include <hblistview.h>
 #include <hblabel.h>
 #include <hbaction.h>
@@ -59,7 +59,7 @@
 
 void UT_LogsRecentCallsView::initTestCase()
 {
-    mMainWindow = new HbMainWindow();
+    mMainWindow = new LogsMainWindow();
     mViewManager = new LogsViewManagerStub(*mMainWindow);
 }
 
@@ -132,20 +132,33 @@
     QVERIFY( view->mInitialized );
     QVERIFY( view->mFilter );
     QVERIFY( view->mEmptyListLabel );
+    QVERIFY( !view->mModel->mMissedCallsCounterCleared );
     VERIFY_CHECKED_ACTION( view, logsShowFilterRecentMenuActionId )
     
     // Change views
     view->activated(false, QVariant(XQService::LogsViewReceived));
     QVERIFY( view->mFilter );
     QVERIFY( view->mFilter->filterType() == LogsFilter::Received );  
+    QVERIFY( !view->mModel->mMissedCallsCounterCleared );
     VERIFY_CHECKED_ACTION( view, logsShowFilterReceivedMenuActionId )
     
     view->activated(false, QVariant(XQService::LogsViewMissed));
-    QVERIFY( view->mFilter->filterType() == LogsFilter::Missed );  
+    QVERIFY( view->mFilter->filterType() == LogsFilter::Missed );
+    QVERIFY( view->mModel->mMissedCallsCounterCleared );
     VERIFY_CHECKED_ACTION( view, logsShowFilterMissedMenuActionId )
+
+    // Change to missed view again, no need to update view, only 
+    // missed call counter updated
+    view->mModel->mMissedCallsCounterCleared = false;
+    view->updateFilter(LogsFilter::Received);    
+    view->activated(false, QVariant(XQService::LogsViewMissed));
+    QVERIFY( view->mFilter->filterType() == LogsFilter::Received );  
+    QVERIFY( view->mModel->mMissedCallsCounterCleared );
     
+    view->mModel->mMissedCallsCounterCleared = false;
     view->activated(false, QVariant(XQService::LogsViewCalled));
     QVERIFY( view->mFilter->filterType() == LogsFilter::Called );  
+    QVERIFY( !view->mModel->mMissedCallsCounterCleared );
     VERIFY_CHECKED_ACTION( view, logsShowFilterDialledMenuActionId )
     
     view->mViewManager.mainWindow().setOrientation( Qt::Horizontal );
@@ -153,6 +166,7 @@
     view->mActivating = true;
     view->activated(false, QVariant(XQService::LogsViewAll));
     QVERIFY( view->mFilter->filterType() == LogsFilter::All );  
+    QVERIFY( !view->mModel->mMissedCallsCounterCleared );
     VERIFY_CHECKED_ACTION( view, logsShowFilterRecentMenuActionId )
     QVERIFY( !view->mDialpad->editor().text().isEmpty() );
     QVERIFY( view->mListView->layoutName() == logsListLandscapeLayout );
@@ -440,8 +454,28 @@
     QCOMPARE(view->mCurrentView, XQService::LogsViewCalled);
     QCOMPARE(view->mAppearingView, XQService::LogsViewCalled);
     
+    //vertical swipe started, gesture cancel policy not modified
+    HbStubHelper::setGestureState(Qt::GestureStarted);
+    event2.setAccepted(Qt::SwipeGesture, false);
+    swipe->setSceneSwipeAngle(70);
+    QVERIFY(swipe->gestureCancelPolicy() == QGesture::CancelNone);
+    view->gestureEvent(&event2);
+    QCOMPARE(view->mCurrentView, XQService::LogsViewCalled);
+    QCOMPARE(view->mAppearingView, XQService::LogsViewCalled);
+    QVERIFY(swipe->gestureCancelPolicy() == QGesture::CancelNone);
+    
+    //horizontal swipe started, gesture cancel policy modified to prevent tap
+    const int swipeAngleRight = 10;
+    HbStubHelper::setGestureState(Qt::GestureStarted);
+    event2.setAccepted(Qt::SwipeGesture, false);
+    swipe->setSceneSwipeAngle(swipeAngleRight);
+    QVERIFY(swipe->gestureCancelPolicy() == QGesture::CancelNone);
+    view->gestureEvent(&event2);
+    QCOMPARE(view->mCurrentView, XQService::LogsViewCalled);
+    QCOMPARE(view->mAppearingView, XQService::LogsViewCalled);
+    QVERIFY(swipe->gestureCancelPolicy() == QGesture::CancelAllInContext);
+    
     //swipe right
-    const int swipeAngleRight = 10;
     HbStubHelper::setGestureState(Qt::GestureFinished);
     event2.setAccepted(Qt::SwipeGesture, false);
     swipe->setSceneSwipeAngle(swipeAngleRight);
@@ -979,38 +1013,3 @@
     QVERIFY( args2.toInt() == XQService::LogsViewMissed);
 }
 
-
-void UT_LogsRecentCallsView::testEventFilter()
-{
-    // Non-gesture event 
-    HbLabel object;
-    QEvent dummyEvent(QEvent::Show);
-    QVERIFY( !mRecentCallsView->eventFilter(&object, &dummyEvent) );
-    
-    // Swipe gesture event
-    QList<QGesture*> list;
-    QGestureEvent event(list);
-    QSwipeGesture* swipe = new QSwipeGesture();
-    list.append(swipe);
-    QVERIFY( !mRecentCallsView->eventFilter(&object, &event) );
-    QVERIFY( !swipe->property("horizontallyRestricted").isValid() );
-    
-    // Tap gesture on some other object (not mListView)
-    QTapGesture* tap = new QTapGesture();
-    list.append(tap);
-    QGestureEvent event2(list);
-    HbStubHelper::setGestureState(Qt::GestureStarted);
-    QVERIFY( !mRecentCallsView->eventFilter(&object, &event2) );
-    QVERIFY( !tap->property("horizontallyRestricted").isValid() );
-        
-    //Tap gesture on list item => property is set
-    mRecentCallsView->mListView = new HbListView();
-    mRepository->model()->mTextData.append("testdata");
-    HbAbstractViewItem* viewItem = mRecentCallsView->mListView->currentViewItem();
-    QVERIFY( !mRecentCallsView->eventFilter(viewItem, &event2) );
-    QVERIFY( tap->property("horizontallyRestricted").isValid() );    
-    
-    qDeleteAll(list);
-    delete mRecentCallsView->mListView;
-    mRecentCallsView->mListView = 0;
-}