calendarui/views/dayview/tsrc/unittests/unittest_calendayitemview/unittest_calendayitemview.cpp
changeset 81 ce92091cbd61
parent 57 bb2d3e476f29
child 83 5aadd1120515
--- a/calendarui/views/dayview/tsrc/unittests/unittest_calendayitemview/unittest_calendayitemview.cpp	Mon Sep 20 12:44:39 2010 +0530
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayitemview/unittest_calendayitemview.cpp	Tue Oct 05 13:57:00 2010 +0530
@@ -23,10 +23,12 @@
 #include <hbabstractitemview.h>
 #include <hbmenu.h>
 
+#ifndef __WINSCW__
 #define private public
+#endif
 
 #include "calendayitemview.h"
-
+#include "calendaymodel.h"
 
 // Test variables
 QRectF gTestWindowRect = QRectF(0, 0, 10, 20);
@@ -52,6 +54,10 @@
     void testOpenSelectedItem();
     void testEditSelectedItem();
     void testDeleteSelectedItem();
+    void testItemActivated();
+    void testSetContextMenu();
+    void testContextMenu();
+    void testModelReset();
 private:
     MCalenServices   mMCalenServices;
     CalenDayItemView *mCalenDayItemView;
@@ -97,6 +103,8 @@
 {
     HbModelIterator *iterator = new HbModelIterator();
     mCalenDayItemView = new CalenDayItemView(mMCalenServices,iterator,0);
+    mCalenDayItemView->setModel(new CalenDayModel( 
+            QDateTime(QDate(12,07,2010),QTime(6,0)), mMCalenServices));
     SELECTED_COMMAND = 0;
 }
 
@@ -129,37 +137,154 @@
     delete testItemView;
 }
 
+/*!
+ Test issueing command on selected item.
+ */
 void TestCalenItemView::testIssueCommandOnSelectedItem()
 {
 #ifndef __WINSCW__
+    mCalenDayItemView->model()->insertRow(0, QModelIndex());
+    QModelIndex modelIndex = mCalenDayItemView->model()->index(0, 0,
+        QModelIndex());
+    mCalenDayItemView->selectionModel()->setCurrentIndex(modelIndex,
+        QItemSelectionModel::Select);
     mCalenDayItemView->issueCommandOnSelectedItem((quint32)ECalenEventView);
     QCOMPARE(SELECTED_COMMAND,(quint32)ECalenEventView);
 #endif
 }
 
+/*!
+ Test opening command on selected item.
+ */
 void TestCalenItemView::testOpenSelectedItem()
 {
 #ifndef __WINSCW__
+    mCalenDayItemView->model()->insertRow(0, QModelIndex());
+    QModelIndex modelIndex = mCalenDayItemView->model()->index(0, 0, 
+        QModelIndex());
+    mCalenDayItemView->selectionModel()->setCurrentIndex(modelIndex, 
+        QItemSelectionModel::Select);
     mCalenDayItemView->openSelectedItem();
     QCOMPARE(SELECTED_COMMAND,(quint32)ECalenEventView);
 #endif 
 }
 
+/*!
+ Test edit command on selected item.
+ */
 void TestCalenItemView::testEditSelectedItem()
 {
 #ifndef __WINSCW__
+    mCalenDayItemView->model()->insertRow(0, QModelIndex());
+    QModelIndex modelIndex = mCalenDayItemView->model()->index(0, 0, 
+        QModelIndex());
+    mCalenDayItemView->selectionModel()->setCurrentIndex(modelIndex, 
+        QItemSelectionModel::Select);
     mCalenDayItemView->editSelectedItem();
     QCOMPARE(SELECTED_COMMAND,(quint32)ECalenEditCurrentEntry);
 #endif
 }
 
+/*!
+ Test delete command on selected item.
+ */
 void TestCalenItemView::testDeleteSelectedItem()
 {
 #ifndef __WINSCW__
+    mCalenDayItemView->model()->insertRow(0, QModelIndex());
+    QModelIndex modelIndex = mCalenDayItemView->model()->index(0, 0, 
+        QModelIndex());
+    mCalenDayItemView->selectionModel()->setCurrentIndex(modelIndex, 
+        QItemSelectionModel::Select);
     mCalenDayItemView->deleteSelectedItem();
     QCOMPARE(SELECTED_COMMAND,(quint32)ECalenDeleteCurrentEntry);
 #endif
 }
 
+/*!
+ Test activation of item.
+ */
+void TestCalenItemView::testItemActivated()
+{
+#ifndef __WINSCW__
+    mCalenDayItemView->model()->insertRow(0, QModelIndex());
+    QModelIndex modelIndex = mCalenDayItemView->model()->index(0, 0, 
+        QModelIndex());
+    mCalenDayItemView->selectionModel()->setCurrentIndex(modelIndex, 
+        QItemSelectionModel::Select);
+    mCalenDayItemView->itemActivated( modelIndex );
+    QCOMPARE(SELECTED_COMMAND,(quint32)ECalenEventView);
+#endif
+}
+
+/*!
+ Test setting context menu
+ */
+void TestCalenItemView::testSetContextMenu()
+{
+    HbMenu* contextMenu = new HbMenu(NULL);
+    mCalenDayItemView->setContextMenu(contextMenu);
+    QCOMPARE(contextMenu, mCalenDayItemView->contextMenu());
+    delete contextMenu;
+}
+
+/*!
+ Test context menu
+ 1. Testing existing context menu
+ 2. Setting new context menu
+ */
+void TestCalenItemView::testContextMenu()
+{
+    //1)
+    QVERIFY(mCalenDayItemView->contextMenu() != NULL);
+    
+    //2)
+    HbMenu* contextMenu = new HbMenu(NULL);
+    mCalenDayItemView->setContextMenu(contextMenu);
+    QCOMPARE(contextMenu, mCalenDayItemView->contextMenu());
+    delete contextMenu;
+}
+
+/*!
+ Test model reset
+ 1. Inserting timed event directly
+ 2. Inserting timed event to model
+ 3. Inserting al day event to model
+ 4. Setting model
+ 5. Setting day event info
+ */
+void TestCalenItemView::testModelReset()
+{
+#ifndef __WINSCW__
+    //1)
+    SCalenApptInfo dayInfo;
+    mCalenDayItemView->mInfo->InsertTimedEvent(dayInfo);
+    mCalenDayItemView->modelReset();
+    QCOMPARE(mCalenDayItemView->mInfo->RegionList().count(), 0);
+    
+    //2)
+    // insert timed event
+    mCalenDayItemView->model()->insertRow(0, QModelIndex());
+    mCalenDayItemView->modelReset();
+    QCOMPARE(mCalenDayItemView->mInfo->RegionList().count(), 1);
+    
+    //3)
+    // insert all day event
+    mCalenDayItemView->model()->insertRow(1, QModelIndex());
+    mCalenDayItemView->modelReset();
+    QCOMPARE(mCalenDayItemView->mInfo->AlldayCount(), 1);
+
+    //4)
+    mCalenDayItemView->setModel(NULL);
+    mCalenDayItemView->modelReset();
+    QCOMPARE(mCalenDayItemView->mInfo->RegionList().count(), 0);
+    
+    //5)
+    mCalenDayItemView->mInfo = NULL;
+    mCalenDayItemView->modelReset();
+    QVERIFY(mCalenDayItemView->mInfo == NULL);
+#endif
+}
+
 QTEST_MAIN(TestCalenItemView);
 #include "unittest_calendayitemview.moc"