diff -r f7f0874bfe7d -r 74c9f037fd5d tsrc/unittest/unittest_medialistwrapper/unittest_medialistwrapper.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tsrc/unittest/unittest_medialistwrapper/unittest_medialistwrapper.cpp Fri Mar 19 09:28:59 2010 +0200 @@ -0,0 +1,354 @@ +/* +* 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 "hbmainwindow.h" +#include "hbapplication.h" + +#include "unittest_medialistwrapper.h" +#include "glxmlwrapper.h" +#include +#include +#include +#include +#include + + + +//#include "glxmlwrapper_p.h" + +int main(int argc, char *argv[]) +{ + Q_UNUSED(argc); + HbApplication app(argc, argv); + + HbMainWindow *mMainWindow = new HbMainWindow(); + TestGlxMLWrapper tv; + + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\testmlwrapper.txt"; + + int res = QTest::qExec(&tv, 3, pass); + + return res; +} + +// ----------------------------------------------------------------------------- +// initTestCase +// ----------------------------------------------------------------------------- +// +void TestGlxMLWrapper::initTestCase() +{ + mTestObject = 0; +} + +// ----------------------------------------------------------------------------- +// init +// ----------------------------------------------------------------------------- +// +void TestGlxMLWrapper::init() +{ + mTestObject = new GlxMLWrapper(KGlxCollectionPluginAllImplementationUid,0,EGlxFilterImage); + QVERIFY(mTestObject); +} + +// ----------------------------------------------------------------------------- +// cleanup +// ----------------------------------------------------------------------------- +// +void TestGlxMLWrapper::cleanup() +{ + if(mTestObject) + { + delete mTestObject; + mTestObject = 0; + } +} + +// ----------------------------------------------------------------------------- +// cleanupTestCase +// ----------------------------------------------------------------------------- +// +void TestGlxMLWrapper::cleanupTestCase() +{ + +} + +// ----------------------------------------------------------------------------- +// testGetItemCount +// ----------------------------------------------------------------------------- +// +void TestGlxMLWrapper::testGetItemCount() +{ + 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(GlxContextGrid); + QTest::qWait(2000); + icon = mTestObject->retrieveItemIcon(itemIndex,GlxTBContextGrid); + QVERIFY(icon != NULL); +} + +void TestGlxMLWrapper::testRetrieveItemUri() +{ + qDebug("TestGlxMLWrapper::testRetrieveItemUri enter"); + + int count = mTestObject->getItemCount(); + mTestObject->setContextMode(GlxContextGrid); + QTest::qWait(20000); + 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(GlxContextGrid); + QTest::qWait(20000); + + QString uri = mTestObject->retrieveItemUri(count-1); + QString imageName = uri.section('\\',-1); + qDebug("TestGlxMLWrapper::testRetrieveItemUriName =%d",uri.isEmpty()); + QVERIFY( imageName.isEmpty() == 0 ); +} + +void TestGlxMLWrapper::testRetrieveItemIcon() +{ + 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); + + // Should get fullscreen icon + mTestObject->setContextMode(GlxContextLsFs); + QTest::qWait(4000); + icon = mTestObject->retrieveItemIcon(itemIndex,GlxTBContextLsFs); + QVERIFY(icon != NULL); + + // Should get grid icon + mTestObject->setContextMode(GlxContextGrid); + QTest::qWait(2000); + icon = mTestObject->retrieveItemIcon(itemIndex,GlxTBContextGrid); + QVERIFY(icon != NULL); + +} + +void TestGlxMLWrapper::testRetrieveItemDateIsNotNull() +{ + qDebug("TestGlxMLWrapper::testRetrieveItemDateIsNotNull enter"); + int count = mTestObject->getItemCount(); + mTestObject->setContextMode(GlxContextGrid); + QTest::qWait(20000); + + 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(GlxContextGrid); + QTest::qWait(20000); + + 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(GlxContextGrid); + QTest::qWait(20000); + + 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"); + 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(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"); + 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); + qDebug("update Item enum %d",spysignal.value(0).at(1).toInt()); + QVERIFY(spysignal.value(0).at(1).toInt() == 3); + +} + +void TestGlxMLWrapper::testRetrieveItemDateIsNull() +{ + int count = mTestObject->getItemCount(); + QDate date = mTestObject->retrieveItemDate(count-1); + qDebug("TestGlxMLWrapper::testRetrieveItemDateIsNull =%d",date.isNull()); + QVERIFY( date.isNull() == 1 ); +}