tsrc/unittest/unittest_medialistwrapper/unittest_medialistwrapper.cpp
branchRCL_3
changeset 59 8e5f6eea9c9f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tsrc/unittest/unittest_medialistwrapper/unittest_medialistwrapper.cpp	Tue Aug 31 15:14:51 2010 +0300
@@ -0,0 +1,341 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#include "unittest_medialistwrapper.h"
+#include "glxmlwrapper.h"
+#include <glxcollectionpluginall.hrh>
+#include <glxmodelparm.h>
+#include <hbicon.h>
+#include <qdatetime.h>
+#include <QString>
+
+
+
+
+// -----------------------------------------------------------------------------
+// initTestCase
+// -----------------------------------------------------------------------------
+//
+void TestGlxMLWrapper::initTestCase()
+{
+    mTestObject = 0;
+    mTestObject = new GlxMLWrapper(KGlxCollectionPluginAllImplementationUid,0,EGlxFilterImage);
+    QVERIFY(mTestObject);
+}
+
+// -----------------------------------------------------------------------------
+// init
+// -----------------------------------------------------------------------------
+//
+void TestGlxMLWrapper::init()
+{
+   
+}
+
+// -----------------------------------------------------------------------------
+// cleanup
+// -----------------------------------------------------------------------------
+//
+void TestGlxMLWrapper::cleanup()
+{
+
+}
+
+// -----------------------------------------------------------------------------
+// cleanupTestCase
+// -----------------------------------------------------------------------------
+//
+void TestGlxMLWrapper::cleanupTestCase()
+{
+    if(mTestObject)
+    {
+        delete mTestObject;
+        mTestObject = 0;
+    }  
+}
+
+// -----------------------------------------------------------------------------
+// testGetItemCount
+// -----------------------------------------------------------------------------
+//
+void TestGlxMLWrapper::testGetItemCount()
+{
+    QTest::qWait(3000);
+    int count = mTestObject->getItemCount();
+    QVERIFY(count >= 0);
+}
+
+
+void TestGlxMLWrapper::testGetFocusIndex()
+{
+    int focusIndex = mTestObject->getFocusIndex();
+   //QVERIFY(focusIndex == -1);
+    mTestObject->setFocusIndex(mTestObject->getItemCount()-1);
+    focusIndex = mTestObject->getFocusIndex();
+    QVERIFY(focusIndex == mTestObject->getItemCount()-1);
+}
+
+void TestGlxMLWrapper::testSetFocusIndex()
+{
+    mTestObject->setFocusIndex(mTestObject->getItemCount()-1);
+    int focusIndex = mTestObject->getFocusIndex();
+    QVERIFY(focusIndex == mTestObject->getItemCount()-1);
+}
+
+void TestGlxMLWrapper::testSetContextMode()
+{
+    int itemIndex = mTestObject->getItemCount()-1;
+    
+    //Retriveing without adding any context .so grid icon should be NULL
+    HbIcon* icon = mTestObject->retrieveItemIcon(itemIndex,GlxTBContextGrid);
+    QVERIFY(icon == NULL);
+    
+    // After adding grid context should get grid icon 
+    mTestObject->setContextMode(GlxContextPtGrid);
+    QTest::qWait(10000);
+    icon = mTestObject->retrieveItemIcon(itemIndex,GlxTBContextGrid);
+    QVERIFY(icon != NULL);
+}
+
+void TestGlxMLWrapper::testRetrieveItemUri()
+{
+    qDebug("TestGlxMLWrapper::testRetrieveItemUri enter");
+	
+	int count = mTestObject->getItemCount();
+	mTestObject->setContextMode(GlxContextPtGrid);
+    QTest::qWait(10000);
+	QString uri = mTestObject->retrieveItemUri(count-1);
+	qDebug("TestGlxMLWrapper::testRetrieveItemUri =%d",uri.isEmpty());
+	QVERIFY( uri.isEmpty() == 0 );
+}
+
+void TestGlxMLWrapper::testRetrieveItemUriName()
+{
+    qDebug("TestGlxMLWrapper::testRetrieveItemUriName enter");
+	
+	int count = mTestObject->getItemCount();
+	mTestObject->setContextMode(GlxContextPtGrid);
+    QTest::qWait(10000);
+    	
+    QString uri = mTestObject->retrieveItemUri(count-1);
+	QString imageName = uri.section('\\',-1);
+    qDebug("TestGlxMLWrapper::testRetrieveItemUriName =%d",uri.isEmpty());
+    QVERIFY( imageName.isEmpty() == 0 );
+}
+
+void TestGlxMLWrapper::testRetrieveItemIconIsNull()
+{
+   int itemIndex = mTestObject->getItemCount()-1;
+// grid icon should be NULL
+    HbIcon* icon = mTestObject->retrieveItemIcon(itemIndex,GlxTBContextGrid);
+    QVERIFY(icon == NULL);
+    
+    // fullscreen icon should be NULL
+    icon = mTestObject->retrieveItemIcon(itemIndex,GlxTBContextLsFs);
+    QVERIFY(icon == NULL);   
+}
+
+void TestGlxMLWrapper::testRetrieveItemIcon()
+{
+    int itemIndex = mTestObject->getItemCount()-1;
+    
+    // Should get fullscreen icon 
+    mTestObject->setContextMode(GlxContextLsFs);
+    QTest::qWait(4000);
+    HbIcon* icon = mTestObject->retrieveItemIcon(itemIndex,GlxTBContextLsFs);
+    QVERIFY(icon != NULL);
+    
+    // Should get grid icon
+    mTestObject->setContextMode(GlxContextPtGrid);
+    QTest::qWait(2000);
+    icon = mTestObject->retrieveItemIcon(itemIndex,GlxTBContextGrid);
+    QVERIFY(icon != NULL);
+	   
+}
+
+void TestGlxMLWrapper::testRetrieveItemDateIsNotNull()
+{
+    qDebug("TestGlxMLWrapper::testRetrieveItemDateIsNotNull enter");
+    int count = mTestObject->getItemCount();
+    mTestObject->setContextMode(GlxContextPtGrid);
+    QTest::qWait(10000);
+	
+	QDate date = mTestObject->retrieveItemDate(count-1);
+    qDebug("TestGlxMLWrapper::testRetrieveItemDateIsNotNull =%d",date.isNull());
+    QVERIFY( date.isNull() == 0 );
+}
+
+
+void TestGlxMLWrapper::testRetrieveItemDateIsValid()
+{
+    qDebug("TestGlxMLWrapper::testRetrieveItemDateIsValid enter");
+    int count = mTestObject->getItemCount();
+    mTestObject->setContextMode( GlxContextPtGrid );
+    QTest::qWait(10000);
+	
+	QDate date = mTestObject->retrieveItemDate(count-1);
+	qDebug("TestGlxMLWrapper::testRetrieveItemDateIsValid IsNull=%d",date.isNull());
+    qDebug("TestGlxMLWrapper::testRetrieveItemDateIsValid IsValid=%d",date.isValid() );
+	
+    QVERIFY( date.isNull() == 0 );
+    QVERIFY( date.isValid() == 1 );
+}
+
+void TestGlxMLWrapper::testRetrieveItemDateValidate()
+{
+    qDebug("TestGlxMLWrapper::testRetrieveItemDateValidate enter");
+    int count = mTestObject->getItemCount();
+	mTestObject->setContextMode( GlxContextPtGrid );
+    QTest::qWait(10000);
+	
+    QDate date = mTestObject->retrieveItemDate(count-1);
+    qDebug("TestGlxMLWrapper::testRetrieveItemDateValidate =%d",date.isValid(date.year(), date.month(), date.day()) );
+    QVERIFY( date.isValid(date.year(), date.month(), date.day()) == 1 );
+}
+
+void TestGlxMLWrapper::testGetVisibleWindowIndex()
+{
+    int visibleIndex = mTestObject->getVisibleWindowIndex();
+    QVERIFY(visibleIndex == 0);
+    
+    int itemIndex = mTestObject->getItemCount()-1;
+    mTestObject->setVisibleWindowIndex(itemIndex);
+    visibleIndex = mTestObject->getVisibleWindowIndex();
+    QVERIFY(visibleIndex == itemIndex);
+}
+
+void TestGlxMLWrapper::testSetVisibleWindowIndex()
+{
+    int itemIndex = mTestObject->getItemCount()-1;
+    mTestObject->setVisibleWindowIndex(itemIndex);
+    int visibleIndex = mTestObject->getVisibleWindowIndex();
+    QVERIFY(visibleIndex == itemIndex);
+}
+
+void TestGlxMLWrapper::testItemsAdded()
+{
+    QSignalSpy spysignal(mTestObject, SIGNAL(insertItems(int ,int )));
+    QVERIFY(spysignal.count() == 0);
+    
+    int index = mTestObject->getItemCount();
+    spysignal.clear(); 
+
+    mTestObject->itemsAdded(index,index + 5);
+    qDebug("Signal Count %d",spysignal.count());
+    QVERIFY(spysignal.count() == 1);
+    QVERIFY(spysignal.value(0).at(0).toInt() == index);
+    QVERIFY(spysignal.value(0).at(1).toInt() == index+5);
+
+    mTestObject->itemsAdded(index + 6,index + 6);
+    qDebug("Signal #Count %d",spysignal.count());
+    QVERIFY(spysignal.count() == 2);
+    QVERIFY(spysignal.value(1).at(0).toInt() == index+6);
+    QVERIFY(spysignal.value(1).at(1).toInt() == index+6);
+}
+
+void TestGlxMLWrapper::testItemsRemoved()
+{
+    QSignalSpy spysignal(mTestObject, SIGNAL(removeItems(int ,int )));
+    QVERIFY(spysignal.count() == 0);
+    
+    int index = mTestObject->getItemCount();
+    spysignal.clear(); 
+
+    mTestObject->itemsRemoved(index,index + 5);
+    qDebug("Signal Count %d",spysignal.count());
+    QVERIFY(spysignal.count() == 1);
+    QVERIFY(spysignal.value(0).at(0).toInt() == index);
+    QVERIFY(spysignal.value(0).at(1).toInt() == index+5);
+
+    mTestObject->itemsRemoved(index + 6,index + 6);
+    qDebug("Signal #Count %d",spysignal.count());
+    QVERIFY(spysignal.count() == 2);
+    QVERIFY(spysignal.value(1).at(0).toInt() == index+6);
+    QVERIFY(spysignal.value(1).at(1).toInt() == index+6);
+}
+
+void TestGlxMLWrapper::testHandleReceivedIcon()
+{
+    qRegisterMetaType<GlxTBContextType>("GlxTBContextType");
+    QSignalSpy spysignal(mTestObject, SIGNAL(updateItem(int , GlxTBContextType )));
+    QVERIFY(spysignal.count() == 0);
+    
+    int count = mTestObject->getItemCount();
+    spysignal.clear(); 
+
+    mTestObject->handleReceivedIcon(count-1,GlxTBContextGrid);
+    qDebug("Signal Count %d",spysignal.count());
+    QVERIFY(spysignal.count() == 1);
+    QVERIFY(spysignal.value(0).at(0).toInt() == count-1);
+    QVERIFY(spysignal.value(0).at(1).toInt() == GlxTBContextGrid);
+    spysignal.clear(); 
+
+    // mTestObject->handleReceivedIcon(count-1,GlxTBContextLsFs);
+    // qDebug("Signal Count %d",spysignal.count());
+    // QVERIFY(spysignal.count() == 1);
+    // QVERIFY(spysignal.value(0).at(0).toInt() == count-1);
+    // QVERIFY(spysignal.value(0).at(1).toInt() == GlxTBContextLsFs);
+    // spysignal.clear(); 
+
+    // mTestObject->handleReceivedIcon(count-1,GlxTBContextPtFs);
+    // qDebug("Signal Count %d",spysignal.count());
+    // QVERIFY(spysignal.count() == 1);
+    // QVERIFY(spysignal.value(0).at(0).toInt() == count-1);
+    // QVERIFY(const_cast<GlxTBContextType>(spysignal.value(0).at(1)) == GlxTBContextPtFs);
+
+}
+
+void TestGlxMLWrapper::testHandleIconCorrupt()
+{
+    QSignalSpy spysignal(mTestObject, SIGNAL(itemCorrupted(int )));
+    QVERIFY(spysignal.count() == 0);
+    
+    int index = mTestObject->getItemCount();
+    spysignal.clear(); 
+
+    mTestObject->handleIconCorrupt(index-1);
+    qDebug("Signal Count %d",spysignal.count());
+    QVERIFY(spysignal.count() == 1);
+    QVERIFY(spysignal.value(0).at(0).toInt() == index-1);
+
+}
+
+void TestGlxMLWrapper::testHandleListItemAvailable()
+{
+    qRegisterMetaType<GlxTBContextType>("GlxTBContextType");
+    QSignalSpy spysignal(mTestObject, SIGNAL(updateItem(int , GlxTBContextType )));
+    QVERIFY(spysignal.count() == 0);
+    
+    int count = mTestObject->getItemCount();
+    spysignal.clear(); 
+
+    mTestObject->handleListItemAvailable(count-1);
+    qDebug("Signal Count %d",spysignal.count());
+    QVERIFY(spysignal.count() == 1);
+    QVERIFY(spysignal.value(0).at(0).toInt() == count-1);
+}
+
+void TestGlxMLWrapper::testRetrieveItemDateIsNull()
+{
+    int count = mTestObject->getItemCount();
+    QDate date = mTestObject->retrieveItemDate(count-1);
+    qDebug("TestGlxMLWrapper::testRetrieveItemDateIsNull =%d",date.isNull());
+    QVERIFY( date.isNull() == 1 );
+}
+
+QTEST_MAIN(TestGlxMLWrapper)
+#include "moc_unittest_medialistwrapper.cpp"