searchui/indevicehandler/tsrc/t_indevicehandler/src/t_indevicehandler.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 02 Sep 2010 20:27:46 +0300
changeset 20 68cdadcf169e
parent 17 7d8c8d8f5eab
child 21 708468d5143e
permissions -rw-r--r--
Revision: 201033 Kit: 201035

#include "t_indevicehandler.h"
#include "indevicehandler.h"
#include <qsignalspy.h>
#include <cpixdocument.h>
SearchInDeviceHandlerTest::SearchInDeviceHandlerTest()
    {
    }
SearchInDeviceHandlerTest::~SearchInDeviceHandlerTest()
    {
    }
void SearchInDeviceHandlerTest::init()
    {
    }
void SearchInDeviceHandlerTest::initTestCase()
    {
    }
void SearchInDeviceHandlerTest::cleanupTestCase()
    {
    }

void SearchInDeviceHandlerTest::testCreateAndDestructIndeviceHandler()
    {
    InDeviceHandler* indevicehandler = new InDeviceHandler();

    QVERIFY(indevicehandler != NULL);

    delete indevicehandler;
    }

void SearchInDeviceHandlerTest::testhandleAsyncSearchResult()
    {
    InDeviceHandler* indevicehandler = new InDeviceHandler();
    indevicehandler->setCategory("media");
    QSignalSpy
            spy(indevicehandler, SIGNAL(handleAsyncSearchResult(int, int)));
    indevicehandler->searchAsync("jpg*");
    QTest::qWait(2000);
    QCOMPARE(spy.count(), 1);
    delete indevicehandler;

    }
void SearchInDeviceHandlerTest::testhandleDocument()
    {
    InDeviceHandler* indevicehandler = new InDeviceHandler();
    indevicehandler->setCategory("media");

    indevicehandler->searchAsync("jpg*");
    QTest::qWait(2000);

    QSignalSpy spy(indevicehandler,
            SIGNAL(handleDocument(int, CpixDocument*)));
    indevicehandler->getDocumentAsyncAtIndex(0);
    QTest::qWait(2000);
    QCOMPARE(spy.count(), 1);
    delete indevicehandler;

    }
void SearchInDeviceHandlerTest::testgetSearchResult()
    {
    testhandleAsyncSearchResult();
    }
void SearchInDeviceHandlerTest::testgetDocumentAsync()
    {
    testhandleDocument();
    }

void SearchInDeviceHandlerTest::testgetDocumentAsyncAtIndex()
    {
    InDeviceHandler* indevicehandler = new InDeviceHandler();
    indevicehandler->setCategory("media");

    indevicehandler->searchAsync("jpg*");
    QTest::qWait(2000);
    QSignalSpy spy(indevicehandler,
            SIGNAL(handleDocument(int, CpixDocument*)));
    indevicehandler->getDocumentAsyncAtIndex(0);
    QTest::qWait(2000);
    QCOMPARE(spy.count(), 1);
    delete indevicehandler;
    }

void SearchInDeviceHandlerTest::testsearchAsync()
    {
    InDeviceHandler* indevicehandler = new InDeviceHandler();
    indevicehandler->setCategory("media");
    QSignalSpy spy(indevicehandler, SIGNAL(handleAsyncSearchResult(int,int)));
    indevicehandler->searchAsync(NULL);
    QTest::qWait(2000);
    QCOMPARE(spy.count(), 0);
    indevicehandler->searchAsync("jpg*");
    QTest::qWait(2000);
    QCOMPARE(spy.count(), 1);
    delete indevicehandler;
    }
void SearchInDeviceHandlerTest::testcancelLastSearch()
    {
    InDeviceHandler* indevicehandler = new InDeviceHandler();
    indevicehandler->setCategory("media");
    indevicehandler->searchAsync("jpg*");
    indevicehandler->cancelLastSearch();
    delete indevicehandler;
    }
void SearchInDeviceHandlerTest::testgetSearchResultCount()
    {
    InDeviceHandler* indevicehandler = new InDeviceHandler();
    QCOMPARE(indevicehandler->getSearchResultCount(),0);
    indevicehandler->setCategory("media");
    indevicehandler->searchAsync("jpg*");
    QTest::qWait(2000);
    QVERIFY(indevicehandler->getSearchResultCount());
    delete indevicehandler;

    }
void SearchInDeviceHandlerTest::testsetCategory()
    {
    InDeviceHandler* indevicehandler = new InDeviceHandler();
    indevicehandler->setCategory("file");
    QVERIFY(indevicehandler->mSearchInterface);
    indevicehandler->setCategory("");
    QVERIFY(indevicehandler->mSearchInterface);
    delete indevicehandler;
    }
void SearchInDeviceHandlerTest::testisPrepared()
    {
    InDeviceHandler* indevicehandler = new InDeviceHandler();
    indevicehandler->setCategory("file");
    QVERIFY(indevicehandler->isPrepared());
    indevicehandler->setCategory("");
    QVERIFY(indevicehandler->isPrepared());
    delete indevicehandler;

    }
#ifdef Q_OS_SYMBIAN

//QTEST_MAIN corrected since crashes if TRAP not in correct place.
//Will be corrected in later (estimate 4.6.0) Qt release for Symbian.
int main(int argc, char *argv[])
    {
    QCoreApplication app(argc, argv);
#ifdef __WINSCW__
    char *new_argv[3];
    QString str = "C:\\data\\" + QFileInfo(
            QCoreApplication::applicationFilePath()).baseName() + ".log";
    QByteArray bytes = str.toAscii();
    char arg1[] = "-o";
    new_argv[0] = argv[0];
    new_argv[1] = arg1;
    new_argv[2] = bytes.data();
    SearchInDeviceHandlerTest tc;
    return QTest::qExec(&tc, 3, new_argv);
#else
    SearchInDeviceHandlerTest tc;
    return QTest::qExec(&tc, argc, argv);
#endif

    }
#else //Q_OS_SYMBIAN
QTEST_MAIN(SearchInDeviceHandlerTest)
#endif //Q_OS_SYMBIAN