logsui/logsapp/tsrc/ut_logsapp/src/ut_logsrecentcallsview.cpp
changeset 17 90fe74753f71
parent 15 76d2cf7a585e
child 21 2f0af9ba7665
equal deleted inserted replaced
15:76d2cf7a585e 17:90fe74753f71
    27 #include "hbstubs_helper.h"
    27 #include "hbstubs_helper.h"
    28 #include "logscall.h"
    28 #include "logscall.h"
    29 #include "logsmessage.h"
    29 #include "logsmessage.h"
    30 #include "logscontact.h"
    30 #include "logscontact.h"
    31 #include "logsmatchesmodel.h"
    31 #include "logsmatchesmodel.h"
       
    32 #include "logsmainwindow.h"
    32 
    33 
    33 //SYSTEM
    34 //SYSTEM
    34 #include <QtTest/QtTest>
    35 #include <QtTest/QtTest>
    35 #include <hbswipegesture.h>
    36 #include <hbswipegesture.h>
    36 #include <hbmainwindow.h>
       
    37 #include <hblistview.h>
    37 #include <hblistview.h>
    38 #include <hblabel.h>
    38 #include <hblabel.h>
    39 #include <hbaction.h>
    39 #include <hbaction.h>
    40 #include <hblistviewitem.h>
    40 #include <hblistviewitem.h>
    41 #include <hbmenu.h>
    41 #include <hbmenu.h>
    57 }}
    57 }}
    58 
    58 
    59 
    59 
    60 void UT_LogsRecentCallsView::initTestCase()
    60 void UT_LogsRecentCallsView::initTestCase()
    61 {
    61 {
    62     mMainWindow = new HbMainWindow();
    62     mMainWindow = new LogsMainWindow();
    63     mViewManager = new LogsViewManagerStub(*mMainWindow);
    63     mViewManager = new LogsViewManagerStub(*mMainWindow);
    64 }
    64 }
    65 
    65 
    66 void UT_LogsRecentCallsView::cleanupTestCase()
    66 void UT_LogsRecentCallsView::cleanupTestCase()
    67 {
    67 {
   130     QVERIFY( !view->mEmptyListLabel );
   130     QVERIFY( !view->mEmptyListLabel );
   131     view->activated(false, QVariant(XQService::LogsViewAll));
   131     view->activated(false, QVariant(XQService::LogsViewAll));
   132     QVERIFY( view->mInitialized );
   132     QVERIFY( view->mInitialized );
   133     QVERIFY( view->mFilter );
   133     QVERIFY( view->mFilter );
   134     QVERIFY( view->mEmptyListLabel );
   134     QVERIFY( view->mEmptyListLabel );
       
   135     QVERIFY( !view->mModel->mMissedCallsCounterCleared );
   135     VERIFY_CHECKED_ACTION( view, logsShowFilterRecentMenuActionId )
   136     VERIFY_CHECKED_ACTION( view, logsShowFilterRecentMenuActionId )
   136     
   137     
   137     // Change views
   138     // Change views
   138     view->activated(false, QVariant(XQService::LogsViewReceived));
   139     view->activated(false, QVariant(XQService::LogsViewReceived));
   139     QVERIFY( view->mFilter );
   140     QVERIFY( view->mFilter );
   140     QVERIFY( view->mFilter->filterType() == LogsFilter::Received );  
   141     QVERIFY( view->mFilter->filterType() == LogsFilter::Received );  
       
   142     QVERIFY( !view->mModel->mMissedCallsCounterCleared );
   141     VERIFY_CHECKED_ACTION( view, logsShowFilterReceivedMenuActionId )
   143     VERIFY_CHECKED_ACTION( view, logsShowFilterReceivedMenuActionId )
   142     
   144     
   143     view->activated(false, QVariant(XQService::LogsViewMissed));
   145     view->activated(false, QVariant(XQService::LogsViewMissed));
   144     QVERIFY( view->mFilter->filterType() == LogsFilter::Missed );  
   146     QVERIFY( view->mFilter->filterType() == LogsFilter::Missed );
       
   147     QVERIFY( view->mModel->mMissedCallsCounterCleared );
   145     VERIFY_CHECKED_ACTION( view, logsShowFilterMissedMenuActionId )
   148     VERIFY_CHECKED_ACTION( view, logsShowFilterMissedMenuActionId )
   146     
   149 
       
   150     // Change to missed view again, no need to update view, only 
       
   151     // missed call counter updated
       
   152     view->mModel->mMissedCallsCounterCleared = false;
       
   153     view->updateFilter(LogsFilter::Received);    
       
   154     view->activated(false, QVariant(XQService::LogsViewMissed));
       
   155     QVERIFY( view->mFilter->filterType() == LogsFilter::Received );  
       
   156     QVERIFY( view->mModel->mMissedCallsCounterCleared );
       
   157     
       
   158     view->mModel->mMissedCallsCounterCleared = false;
   147     view->activated(false, QVariant(XQService::LogsViewCalled));
   159     view->activated(false, QVariant(XQService::LogsViewCalled));
   148     QVERIFY( view->mFilter->filterType() == LogsFilter::Called );  
   160     QVERIFY( view->mFilter->filterType() == LogsFilter::Called );  
       
   161     QVERIFY( !view->mModel->mMissedCallsCounterCleared );
   149     VERIFY_CHECKED_ACTION( view, logsShowFilterDialledMenuActionId )
   162     VERIFY_CHECKED_ACTION( view, logsShowFilterDialledMenuActionId )
   150     
   163     
   151     view->mViewManager.mainWindow().setOrientation( Qt::Horizontal );
   164     view->mViewManager.mainWindow().setOrientation( Qt::Horizontal );
   152     view->mDialpad->editor().setText( QString("hello") );
   165     view->mDialpad->editor().setText( QString("hello") );
   153     view->mActivating = true;
   166     view->mActivating = true;
   154     view->activated(false, QVariant(XQService::LogsViewAll));
   167     view->activated(false, QVariant(XQService::LogsViewAll));
   155     QVERIFY( view->mFilter->filterType() == LogsFilter::All );  
   168     QVERIFY( view->mFilter->filterType() == LogsFilter::All );  
       
   169     QVERIFY( !view->mModel->mMissedCallsCounterCleared );
   156     VERIFY_CHECKED_ACTION( view, logsShowFilterRecentMenuActionId )
   170     VERIFY_CHECKED_ACTION( view, logsShowFilterRecentMenuActionId )
   157     QVERIFY( !view->mDialpad->editor().text().isEmpty() );
   171     QVERIFY( !view->mDialpad->editor().text().isEmpty() );
   158     QVERIFY( view->mListView->layoutName() == logsListLandscapeLayout );
   172     QVERIFY( view->mListView->layoutName() == logsListLandscapeLayout );
   159     QVERIFY( view->mLayoutSectionName == logsViewDefaultSection );
   173     QVERIFY( view->mLayoutSectionName == logsViewDefaultSection );
   160     QVERIFY( !view->mActivating );
   174     QVERIFY( !view->mActivating );
   438     view->gestureEvent(&event2);
   452     view->gestureEvent(&event2);
   439     QVERIFY(!event2.isAccepted(Qt::SwipeGesture));
   453     QVERIFY(!event2.isAccepted(Qt::SwipeGesture));
   440     QCOMPARE(view->mCurrentView, XQService::LogsViewCalled);
   454     QCOMPARE(view->mCurrentView, XQService::LogsViewCalled);
   441     QCOMPARE(view->mAppearingView, XQService::LogsViewCalled);
   455     QCOMPARE(view->mAppearingView, XQService::LogsViewCalled);
   442     
   456     
       
   457     //vertical swipe started, gesture cancel policy not modified
       
   458     HbStubHelper::setGestureState(Qt::GestureStarted);
       
   459     event2.setAccepted(Qt::SwipeGesture, false);
       
   460     swipe->setSceneSwipeAngle(70);
       
   461     QVERIFY(swipe->gestureCancelPolicy() == QGesture::CancelNone);
       
   462     view->gestureEvent(&event2);
       
   463     QCOMPARE(view->mCurrentView, XQService::LogsViewCalled);
       
   464     QCOMPARE(view->mAppearingView, XQService::LogsViewCalled);
       
   465     QVERIFY(swipe->gestureCancelPolicy() == QGesture::CancelNone);
       
   466     
       
   467     //horizontal swipe started, gesture cancel policy modified to prevent tap
       
   468     const int swipeAngleRight = 10;
       
   469     HbStubHelper::setGestureState(Qt::GestureStarted);
       
   470     event2.setAccepted(Qt::SwipeGesture, false);
       
   471     swipe->setSceneSwipeAngle(swipeAngleRight);
       
   472     QVERIFY(swipe->gestureCancelPolicy() == QGesture::CancelNone);
       
   473     view->gestureEvent(&event2);
       
   474     QCOMPARE(view->mCurrentView, XQService::LogsViewCalled);
       
   475     QCOMPARE(view->mAppearingView, XQService::LogsViewCalled);
       
   476     QVERIFY(swipe->gestureCancelPolicy() == QGesture::CancelAllInContext);
       
   477     
   443     //swipe right
   478     //swipe right
   444     const int swipeAngleRight = 10;
       
   445     HbStubHelper::setGestureState(Qt::GestureFinished);
   479     HbStubHelper::setGestureState(Qt::GestureFinished);
   446     event2.setAccepted(Qt::SwipeGesture, false);
   480     event2.setAccepted(Qt::SwipeGesture, false);
   447     swipe->setSceneSwipeAngle(swipeAngleRight);
   481     swipe->setSceneSwipeAngle(swipeAngleRight);
   448     view->gestureEvent(&event2);
   482     view->gestureEvent(&event2);
   449     QCOMPARE(view->mCurrentView, XQService::LogsViewCalled);
   483     QCOMPARE(view->mCurrentView, XQService::LogsViewCalled);
   977     QVariant args2 = mRecentCallsView->loadActivity(QString(logsActivityIdViewMissed), stream, metaData);
  1011     QVariant args2 = mRecentCallsView->loadActivity(QString(logsActivityIdViewMissed), stream, metaData);
   978     QVERIFY( !args2.isNull() );
  1012     QVERIFY( !args2.isNull() );
   979     QVERIFY( args2.toInt() == XQService::LogsViewMissed);
  1013     QVERIFY( args2.toInt() == XQService::LogsViewMissed);
   980 }
  1014 }
   981 
  1015 
   982 
       
   983 void UT_LogsRecentCallsView::testEventFilter()
       
   984 {
       
   985     // Non-gesture event 
       
   986     HbLabel object;
       
   987     QEvent dummyEvent(QEvent::Show);
       
   988     QVERIFY( !mRecentCallsView->eventFilter(&object, &dummyEvent) );
       
   989     
       
   990     // Swipe gesture event
       
   991     QList<QGesture*> list;
       
   992     QGestureEvent event(list);
       
   993     QSwipeGesture* swipe = new QSwipeGesture();
       
   994     list.append(swipe);
       
   995     QVERIFY( !mRecentCallsView->eventFilter(&object, &event) );
       
   996     QVERIFY( !swipe->property("horizontallyRestricted").isValid() );
       
   997     
       
   998     // Tap gesture on some other object (not mListView)
       
   999     QTapGesture* tap = new QTapGesture();
       
  1000     list.append(tap);
       
  1001     QGestureEvent event2(list);
       
  1002     HbStubHelper::setGestureState(Qt::GestureStarted);
       
  1003     QVERIFY( !mRecentCallsView->eventFilter(&object, &event2) );
       
  1004     QVERIFY( !tap->property("horizontallyRestricted").isValid() );
       
  1005         
       
  1006     //Tap gesture on list item => property is set
       
  1007     mRecentCallsView->mListView = new HbListView();
       
  1008     mRepository->model()->mTextData.append("testdata");
       
  1009     HbAbstractViewItem* viewItem = mRecentCallsView->mListView->currentViewItem();
       
  1010     QVERIFY( !mRecentCallsView->eventFilter(viewItem, &event2) );
       
  1011     QVERIFY( tap->property("horizontallyRestricted").isValid() );    
       
  1012     
       
  1013     qDeleteAll(list);
       
  1014     delete mRecentCallsView->mListView;
       
  1015     mRecentCallsView->mListView = 0;
       
  1016 }