videocollection/videocollectionview/tsrc/testvideolistselectiondialog/src/testvideolistselectiondialog.cpp
changeset 34 bbb98528c666
parent 30 4f111d64a341
child 35 3738fe97f027
--- a/videocollection/videocollectionview/tsrc/testvideolistselectiondialog/src/testvideolistselectiondialog.cpp	Thu Apr 01 23:13:36 2010 +0300
+++ b/videocollection/videocollectionview/tsrc/testvideolistselectiondialog/src/testvideolistselectiondialog.cpp	Thu Apr 01 23:22:15 2010 +0300
@@ -14,20 +14,15 @@
 * Description:   tester for methods in VideoListSelectionDialog
 * 
 */
-#include "testvideolistselectiondialog.h"
+
 #include <qapplication.h>
-#include "hbaction.h"
-#include "videocollectionuiloader.h"
-#include "videolistwidget.h"
-#include "dummydatamodel.h"
-#include "videosortfilterproxymodel.h"
+
+#include "testvideolistselectiondialog.h"
 
 #define private public
 #include "videolistselectiondialog.h"
 #undef private
 
-const int DEFAULT_ROW_COUNT = 10;
-
 // ---------------------------------------------------------------------------
 // main
 // ---------------------------------------------------------------------------
@@ -38,12 +33,19 @@
     
     TestVideoListSelectionDialog tv;
 
-    char *pass[3];
-    pass[0] = argv[0];
-    pass[1] = "-o";
-    pass[2] = "c:\\data\\testvideolistselectiondialog.txt";
-    
-    int res = QTest::qExec(&tv, 3, pass);
+    int res;
+    if(argc > 1)
+    {   
+        res = QTest::qExec(&tv, argc, argv);
+    }
+    else
+    {
+        char *pass[3];
+        pass[0] = argv[0];
+        pass[1] = "-o";
+        pass[2] = "c:\\data\\testvideolistselectiondialog.txt";
+        res = QTest::qExec(&tv, 3, pass);
+    }
     
     return res;
 }
@@ -54,17 +56,6 @@
 //
 void TestVideoListSelectionDialog::init()
 {
-    mTestUiLoader = new VideoCollectionUiLoader();
-    mTestObject = new VideoListSelectionDialog(mTestUiLoader);
-    
-    mSourceModel = new DummyDataModel();
-    mSourceModel->setRowCount(DEFAULT_ROW_COUNT);
-    
-    mModel = new VideoSortFilterProxyModel();
-    mModel->setSourceModel(mSourceModel);
-    
-    mTestWidget = new VideoListWidget(*mModel);
-    
 }
  
 // ---------------------------------------------------------------------------
@@ -73,378 +64,6 @@
 //
 void TestVideoListSelectionDialog::cleanup()
 {
-    delete mTestObject; 
-    mTestObject = 0;
-    
-    delete mTestUiLoader;
-    mTestUiLoader = 0;  
-    
-    delete mTestWidget;
-    mTestWidget = 0;
-    
-    delete mSourceModel;
-    mSourceModel = 0;
-    
-    delete mModel;
-    mModel = 0;
-}
-
-// ---------------------------------------------------------------------------
-// testSetContentEmptyTitle
-// ---------------------------------------------------------------------------
-//
-void TestVideoListSelectionDialog::testSetContentEmptyTitle()
-{
-    QVERIFY(mTestObject != 0);
-    
-    QString title = "";
-    mTestObject->setContent(title, mTestWidget);
-    // at first invalid setContent, all 
-    // members remain null
-    QVERIFY(mTestObject->mVideoList == 0);
-    QVERIFY(mTestObject->mHeading == 0);
-    QVERIFY(mTestObject->mItemCount == 0);
-    QVERIFY(mTestObject->mCheckBox == 0);
-    QVERIFY(mTestObject->mListContainer == 0);
-    
-    title = "test"; 
-    mTestObject->setContent(title, mTestWidget);
-    // succeed setContent. All members are initialized
-    QVERIFY(mTestObject->mVideoList != 0);
-    QVERIFY(mTestObject->mHeading != 0);
-    QVERIFY(mTestObject->mItemCount != 0);
-    QVERIFY(mTestObject->mCheckBox != 0);
-    // list container gets initialized at exec
-    QVERIFY(mTestObject->mListContainer == 0);
-    
-    title = ""; 
-    mTestObject->setContent(title, mTestWidget);
-    // invalid setContent after one or more succeed one:
-    // videolist is nul indicating invalid state, whereas
-    // UI components have been fetched from ui loader
-    QVERIFY(mTestObject->mVideoList == 0);
-    QVERIFY(mTestObject->mHeading != 0);
-    QVERIFY(mTestObject->mItemCount != 0);
-    QVERIFY(mTestObject->mCheckBox != 0);
-    // list container gets initialized at exec
-    QVERIFY(mTestObject->mListContainer == 0);
-}
-    
-// ---------------------------------------------------------------------------
-// testSetContentNullcontent
-// ---------------------------------------------------------------------------
-//
-void TestVideoListSelectionDialog::testSetContentNullcontent()
-{
-    QVERIFY(mTestObject != 0);
-        
-    QString title = "test";
-    mTestObject->setContent(title, 0);
-    // at first invalid setContent, all 
-    // members remain null
-    QVERIFY(mTestObject->mVideoList == 0);
-    QVERIFY(mTestObject->mHeading == 0);
-    QVERIFY(mTestObject->mItemCount == 0);
-    QVERIFY(mTestObject->mCheckBox == 0);
-    QVERIFY(mTestObject->mListContainer == 0);
-    
-    mTestObject->setContent(title, mTestWidget);
-    // succeed setContent. All members are initialized
-    QVERIFY(mTestObject->mVideoList != 0);
-    QVERIFY(mTestObject->mHeading != 0);
-    QVERIFY(mTestObject->mItemCount != 0);
-    QVERIFY(mTestObject->mCheckBox != 0);
-    // list container gets initialized at exec
-    QVERIFY(mTestObject->mListContainer == 0);
-    
-    title = ""; 
-    mTestObject->setContent(title, 0);
-    // invalid setContent after one or more succeed one:
-    // videolist is nul indicating invalid state, whereas
-    // UI components have been fetched from ui loader
-    QVERIFY(mTestObject->mVideoList == 0);
-    QVERIFY(mTestObject->mHeading != 0);
-    QVERIFY(mTestObject->mItemCount != 0);
-    QVERIFY(mTestObject->mCheckBox != 0);
-    // list container gets initialized at exec
-    QVERIFY(mTestObject->mListContainer == 0);
-}
-    
-// ---------------------------------------------------------------------------
-// tesSetContentItemFinding
-// ---------------------------------------------------------------------------
-//
-void TestVideoListSelectionDialog::tesSetContentItemFinding()
-{
-    // all items are not yet created -> they are to be created
-    QString title = "test";
-    mTestObject->setContent(title, mTestWidget);
-    QVERIFY(mTestObject->mVideoList != 0);
-    QVERIFY(mTestObject->mHeading != 0);
-    QVERIFY(mTestObject->mItemCount != 0);
-    QVERIFY(mTestObject->mCheckBox != 0);
-    // list container gets initialized at exec
-    QVERIFY(mTestObject->mListContainer == 0);
-    QVERIFY(mTestObject->primaryAction());
-    QVERIFY(mTestObject->secondaryAction());
-    QVERIFY(mTestObject->mHeading->mPlainTxt == title); 
-    QVERIFY(mTestObject->mItemCount->mAlignment == Qt::AlignRight);
-    QVERIFY(mTestObject->mItemCount->mPlainTxt == "0/" + QString::number(DEFAULT_ROW_COUNT));
-    QVERIFY(mTestObject->mCheckBox->mChecked == false);  
-    QVERIFY(mTestObject->primaryAction()->mTxt == "OK");
-    QVERIFY(mTestObject->secondaryAction()->mTxt == "Cancel");
-        
-    // all items exists beforehand 
-    title = "test2";
-    mTestObject->setContent(title, mTestWidget);
-    QVERIFY(mTestObject->mVideoList != 0);
-    QVERIFY(mTestObject->mHeading != 0);
-    QVERIFY(mTestObject->mItemCount != 0);
-    QVERIFY(mTestObject->mCheckBox != 0);
-    // list container gets initialized at exec
-    QVERIFY(mTestObject->mListContainer == 0);
-    QVERIFY(mTestObject->primaryAction());
-    QVERIFY(mTestObject->secondaryAction());
-    QVERIFY(mTestObject->mHeading->mPlainTxt == title); 
-    QVERIFY(mTestObject->mItemCount->mAlignment == Qt::AlignRight);
-    QVERIFY(mTestObject->mItemCount->mPlainTxt == "0/" + QString::number(DEFAULT_ROW_COUNT));
-    QVERIFY(mTestObject->mCheckBox->mChecked == false);  
-    QVERIFY(mTestObject->primaryAction()->mTxt == "OK");
-    QVERIFY(mTestObject->secondaryAction()->mTxt == "Cancel");
-    
 }
 
-// ---------------------------------------------------------------------------
-// testExec
-// ---------------------------------------------------------------------------
-//
-void TestVideoListSelectionDialog::testExec()
-{
-    // no videolist
-    mTestObject->exec();
-    QVERIFY(mTestObject->mVideoList == 0);
-    QVERIFY(mTestObject->mHeading == 0);
-    QVERIFY(mTestObject->mItemCount == 0);
-    QVERIFY(mTestObject->mCheckBox == 0);
-    QVERIFY(mTestObject->mListContainer == 0);
-    QVERIFY(mTestObject->mSelection.count() ==  0);
-    
-    QString title = "test";
-    mTestObject->setContent(title, mTestWidget);
-    
-    // mListContainer not yet loaded
-    HbDialog::execReturnPrimary = false;
-    mTestObject->exec();
-    QVERIFY(mTestObject->mVideoList != 0);    
-    QVERIFY(mTestObject->mHeading != 0);
-    QVERIFY(mTestObject->mItemCount != 0);
-    QVERIFY(mTestObject->mCheckBox != 0);
-    QVERIFY(mTestObject->mListContainer != 0);
-    QVERIFY(mTestObject->mSelection.count() ==  0);
-    QVERIFY(mTestObject->mVideoList->mVisibility = true);
-    QVERIFY(mTestObject->mVideoList->mEndSelModelStartedCount == 1);
-    QVERIFY(mTestObject->mVideoList->mStartSelModeStartedCount == 1);
-    QVERIFY(mTestObject->mVideoList->mSelectionMode == HbAbstractItemView::NoSelection);
-    
-    // mListContainer loaded
-    mTestObject->mVideoList->mVisibility = false;
-    mTestObject->mVideoList->mEndSelModelStartedCount = 0;
-    mTestObject->mVideoList->mStartSelModeStartedCount = 0;
-    
-    HbDialog::execReturnPrimary = false;
-    mTestObject->exec();
-    QVERIFY(mTestObject->mVideoList != 0);    
-    QVERIFY(mTestObject->mHeading != 0);
-    QVERIFY(mTestObject->mItemCount != 0);
-    QVERIFY(mTestObject->mCheckBox != 0);
-    QVERIFY(mTestObject->mListContainer != 0);
-    QVERIFY(mTestObject->mSelection.count() ==  0);
-    
-    QVERIFY(mTestObject->mVideoList->mVisibility = true);
-    QVERIFY(mTestObject->mVideoList->mEndSelModelStartedCount == 1);
-    QVERIFY(mTestObject->mVideoList->mStartSelModeStartedCount == 1);
-    QVERIFY(mTestObject->mVideoList->mSelectionMode == HbAbstractItemView::NoSelection);
-    
-    mTestObject->mVideoList->mVisibility = false;
-    mTestObject->mVideoList->mEndSelModelStartedCount = 0;
-    mTestObject->mVideoList->mStartSelModeStartedCount = 0;
-    // not accepted
-    HbDialog::execReturnPrimary = true;
-    mTestObject->exec();
-    QVERIFY(mTestObject->mVideoList != 0);    
-    QVERIFY(mTestObject->mHeading != 0);
-    QVERIFY(mTestObject->mItemCount != 0);
-    QVERIFY(mTestObject->mCheckBox != 0);
-    QVERIFY(mTestObject->mListContainer != 0);
-    QVERIFY(mTestObject->mSelection.count() ==  0);
-    
-    QVERIFY(mTestObject->mVideoList->mVisibility = true);
-    QVERIFY(mTestObject->mVideoList->mEndSelModelStartedCount == 1);
-    QVERIFY(mTestObject->mVideoList->mStartSelModeStartedCount == 1);
-    QVERIFY(mTestObject->mVideoList->mSelectionMode == HbAbstractItemView::NoSelection);
-}
-
-// ---------------------------------------------------------------------------
-// testmMarkAllStateChangedSlot
-// ---------------------------------------------------------------------------
-//
-void TestVideoListSelectionDialog::testmMarkAllStateChangedSlot()
-{   
-    connect(this, SIGNAL(signalTestMarkAll(int)), mTestObject, SLOT(markAllStateChangedSlot(int)));
-    // without videolist
-    emit signalTestMarkAll(Qt::Checked);
-    QVERIFY(mTestWidget->mInitiallySelected.indexes().count() == 0);
-
-    QString title = "test";
-    mTestObject->setContent(title, mTestWidget);   
-    mTestObject->mForcedCheck = true;
-    // with forcedcheck
-    emit signalTestMarkAll(Qt::Checked);
-    QVERIFY(mTestWidget->mInitiallySelected.indexes().count() == 0);
-    
-    mTestObject->mForcedCheck = false;
-    // checked
-    emit signalTestMarkAll(Qt::Checked);
-    QVERIFY(mTestWidget->mInitiallySelected.indexes().count() == DEFAULT_ROW_COUNT);
-    
-    // not checked (== everything else than Qt::Checked
-    emit signalTestMarkAll(Qt::Checked + 1);
-    QVERIFY(mTestWidget->mInitiallySelected.indexes().count() == 0);
-    disconnect(this, SIGNAL(signalTestMarkAll(int)), mTestObject, SLOT(markAllStateChangedSlot(int)));
-}
-
-// ---------------------------------------------------------------------------
-// testSelectionChangedSlot
-// ---------------------------------------------------------------------------
-//
-void TestVideoListSelectionDialog::testSelectionChangedSlot()
-{
-    connect(this, SIGNAL(signalTestSelectionChanged(const QItemSelection&, const QItemSelection&)), 
-            mTestObject, SLOT(selectionChangedSlot(const QItemSelection&, const QItemSelection &)));
-    ////////////////
-    // no primary
-    ////////////////
-    emit signalTestSelectionChanged(QItemSelection (), QItemSelection ());
-    QVERIFY(mTestObject->mSelection.count() == 0);
-    
-    ////////////////
-    // selected == 0 and deselected == 0
-    ////////////////
-    QString title = "test";
-    mTestObject->setContent(title, mTestWidget);           
-    emit signalTestSelectionChanged(QItemSelection (), QItemSelection ());
-    QVERIFY(mTestObject->getSelection().indexes().count() == 0);
-    QVERIFY(mTestObject->primaryAction()->mDisable == true);
-    QVERIFY(mTestObject->mCheckBox->mChecked == false);
-
-    ////////////////
-    // deselected > 0
-    ////////////////
-    // "deselect" items from 0 to DEFAULT_ROW_COUNT / 2
-    QItemSelection deselection(mSourceModel->index(0, 0, QModelIndex()), mSourceModel->index(DEFAULT_ROW_COUNT / 2, 0, QModelIndex())); 
-    
-    emit signalTestSelectionChanged(QItemSelection (), deselection);
-    QVERIFY(mTestObject->getSelection().indexes().count() == 0);
-    QVERIFY(mTestObject->primaryAction()->mDisable == true);
-    QVERIFY(mTestObject->mItemCount->mPlainTxt == "0/" + QString::number(DEFAULT_ROW_COUNT));
-    QVERIFY(mTestObject->mCheckBox->mChecked == false);
-    
-    ////////////////
-    // selected > 0
-    ////////////////
-    mTestObject->mSelection.clear();
-    // "select" items from (DEFAULT_ROW_COUNT / 2) + 1 to DEFAULT_ROW_COUNT - 1
-    QItemSelection selection(mSourceModel->index((DEFAULT_ROW_COUNT / 2) + 1, 0, QModelIndex()), 
-                                mSourceModel->index(DEFAULT_ROW_COUNT - 1, 0, QModelIndex()));
-   
-    int count = 1 + ((DEFAULT_ROW_COUNT - 1) - ((DEFAULT_ROW_COUNT / 2) + 1));
-    
-    ///////////////
-    // selected > 0
-    ///////////////
-    emit signalTestSelectionChanged(selection, deselection);
-    QVERIFY(mTestObject->getSelection().indexes().count() == count);
-    QVERIFY(mTestObject->primaryAction()->mDisable == false);
-    QVERIFY(mTestObject->mItemCount->mPlainTxt == QString::number(count) + "/" + QString::number(DEFAULT_ROW_COUNT));
-    QVERIFY(mTestObject->mCheckBox->mChecked == false);
-    
-    //////////////////
-    // without videolist
-    ///////////////
-    mTestObject->mVideoList = 0;
-    selection.clear();
-    deselection.clear();
-    mTestObject->mSelection.clear();
-    
-    // "select" 2 items
-    selection.select(mSourceModel->index(DEFAULT_ROW_COUNT - 2, 0, QModelIndex()),
-                        mSourceModel->index(DEFAULT_ROW_COUNT - 1, 0, QModelIndex()));
-    deselection.select( mSourceModel->index(0, 0, QModelIndex()),
-                        mSourceModel->index(DEFAULT_ROW_COUNT - 3, 0, QModelIndex()));
-   
-    emit signalTestSelectionChanged(selection, deselection);
-    QVERIFY(mTestObject->getSelection().indexes().count() == 2);
-    QVERIFY(mTestObject->primaryAction()->mDisable == false);
-    QVERIFY(mTestObject->mCheckBox->mChecked == false);
-    // count should have not changed
-    QVERIFY(mTestObject->mItemCount->mPlainTxt == QString::number(count) + "/" + QString::number(DEFAULT_ROW_COUNT));
-    
-    ///////////////
-    // wihtout mItemCount
-    ///////////////
-    mTestObject->mVideoList = mTestWidget;
-    HbLabel *tmpLabel = mTestObject->mItemCount;
-    mTestObject->mItemCount = 0;
-    selection.clear();
-    deselection.clear();
-    mTestObject->mSelection.clear();
-    
-    // "select" 2 items
-    selection.select(mSourceModel->index(DEFAULT_ROW_COUNT - 2, 0, QModelIndex()),
-                        mSourceModel->index(DEFAULT_ROW_COUNT - 1, 0, QModelIndex()));   
-    deselection.select( mSourceModel->index(0, 0, QModelIndex()),
-                           mSourceModel->index(DEFAULT_ROW_COUNT - 3, 0, QModelIndex()));
-    
-    emit signalTestSelectionChanged(selection, deselection);
-    QVERIFY(mTestObject->getSelection().indexes().count() == 2);
-    QVERIFY(mTestObject->primaryAction()->mDisable == false);
-    QVERIFY(mTestObject->mCheckBox->mChecked == false);
-    mTestObject->mItemCount = tmpLabel;
-    
-    ///////////////
-    // selectionCount == rowCount and rowcount == 0
-    ///////////////
-    mSourceModel->setRowCount(0);
-    selection.clear();
-    deselection.clear();
-    mTestObject->mSelection.clear();
-
-    emit signalTestSelectionChanged(selection, deselection);
-    QVERIFY(mTestObject->getSelection().indexes().count() == 0);
-    QVERIFY(mTestObject->primaryAction()->mDisable == true);
-    QVERIFY(mTestObject->mItemCount->mPlainTxt == "0/0");
-    QVERIFY(mTestObject->mCheckBox->mChecked == false);
-    
-    mSourceModel->setRowCount(DEFAULT_ROW_COUNT);
-    
-    ///////////////
-   // selectionCount == rowCount and rowcount > 0
-   ///////////////
-    selection.clear();
-    deselection.clear();
-    selection.select(mSourceModel->index(0, 0, QModelIndex()),
-                            mSourceModel->index(DEFAULT_ROW_COUNT - 1, 0, QModelIndex()));
-    
-    emit signalTestSelectionChanged(selection, deselection);
-    QVERIFY(mTestObject->getSelection().indexes().count() == DEFAULT_ROW_COUNT);
-    QVERIFY(mTestObject->primaryAction()->mDisable == false);
-    QVERIFY(mTestObject->mCheckBox->mChecked == true);
-    QVERIFY(mTestObject->mItemCount->mPlainTxt == QString::number(DEFAULT_ROW_COUNT) + "/" + QString::number(DEFAULT_ROW_COUNT));
-    
-    disconnect(this, SIGNAL(signalTestSelectionChanged(const QItemSelection&, const QItemSelection&)), 
-                mTestObject, SLOT(selectionChangedSlot(const QItemSelection&, const QItemSelection &)));
-}
-// End of file
-    
-
-
+// end of file