searchui/stateproviders/searchstateprovider/tsrc/t_searchstateprovider/src/t_searchprogressivestate.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 14 May 2010 15:53:17 +0300
changeset 3 6832643895f7
parent 2 208a4ba3894c
child 5 3bc31ad99ee7
permissions -rw-r--r--
Revision: 201017 Kit: 201019

/*
* 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 "t_searchstateprovider.h"
#include "searchprogressivestate.h"
#include <qsignalspy.h>
#include "indevicehandler.h"
#include <qstandarditemmodel.h>
#include <fbs.h>
#include <AknsUtils.h>
#include <bitdev.h> 
#include <bitstd.h>
#include <qbitmap.h>
#include <fbs.h>
#include <AknInternalIconUtils.h>
#include <AknIconUtils.h> 
#include <apgcli.h>
#include <hbsearchpanel.h>

// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//

void SearchStateProviderTest::testProgressiveStateConstruction()
    {
    // HbMainWindow* wind = mainWindow();

    SearchProgressiveState* progressiveState = new SearchProgressiveState();

    QVERIFY(progressiveState != NULL);
    QVERIFY(progressiveState->mView);
    QVERIFY(progressiveState->mListView);
    QVERIFY(progressiveState->mDocumentLoader);
    QVERIFY(progressiveState->mSearchPanel);
    QVERIFY(progressiveState->mModel);
    //QVERIFY(progressiveState->mSearchHandler);

    delete progressiveState;

    //  delete wind;
    }
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//

void SearchStateProviderTest::testProgressiveStateOnEntryAndExitSignalled()
    {
    //    HbMainWindow* wind = mainWindow();

    SearchProgressiveState* progressiveState = new SearchProgressiveState();

    QEvent *event = new QEvent(QEvent::None);
    progressiveState->onEntry(event);

    progressiveState->onExit(event);

    delete progressiveState;

    //  delete wind;
    }
void SearchStateProviderTest::testsetSelectedCategories()
    {
    SearchProgressiveState* progressiveState = new SearchProgressiveState();
    QEvent *event = new QEvent(QEvent::None);
    progressiveState->onEntry(event);
    progressiveState->getSettingCategory(0, true);
    progressiveState->getSettingCategory(1, true);
    progressiveState->getSettingCategory(2, true);
    progressiveState->getSettingCategory(3, true);
    progressiveState->getSettingCategory(4, true);
    progressiveState->getSettingCategory(5, true);
    progressiveState->getSettingCategory(6, true);
    progressiveState->getSettingCategory(7, true);
    progressiveState->setSelectedCategories();
    delete progressiveState;
    }
void SearchStateProviderTest::testgetAppIconFromAppId()
    {

    SearchProgressiveState* progressiveState = new SearchProgressiveState();
    QEvent *event = new QEvent(QEvent::None);
    progressiveState->onEntry(event);
    for (int i = 0; i < progressiveState->mIconArray.count(); i++)
        {
        QVERIFY(!(progressiveState->mIconArray.at(i).isNull()));
        }
    progressiveState->mIconArray.clear();
    delete progressiveState;
    }

// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//


void SearchStateProviderTest::testonAsyncSearchComplete()
    {
    //  HbMainWindow* wind = mainWindow();
    SearchProgressiveState* progressiveState = new SearchProgressiveState();
    QEvent *event = new QEvent(QEvent::None);
    progressiveState->onEntry(event);
    progressiveState->mSearchHandler
            = progressiveState->mSearchHandlerList.at(1);
    progressiveState->onAsyncSearchComplete(-1, 10);
    QCOMPARE(progressiveState->mResultcount,0);

    progressiveState->onAsyncSearchComplete(0, -1);
    QCOMPARE(progressiveState->mResultcount,0);
    progressiveState->mSearchHandler->searchAsync("txt", "_aggregate");
    QTest::qWait(100);
    //QCOMPARE(progressiveState->mResultcount,10);

    delete progressiveState;
    //  delete wind;
    }
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void SearchStateProviderTest::testonGetDocumentComplete()
    {
    //    HbMainWindow* wind = mainWindow();
    SearchProgressiveState* progressiveState = new SearchProgressiveState();
    QEvent *event = new QEvent(QEvent::None);

    progressiveState->mSelectedCategory.insert(5, true);
    progressiveState->onEntry(event);
    // progressiveState->mSearchHandler = progressiveState->mSearchHandlerList.at(1);
    progressiveState->onGetDocumentComplete(0, NULL);
    QCOMPARE(progressiveState->mModel->rowCount(),0);

    progressiveState->onGetDocumentComplete(-1, NULL);
    QCOMPARE(progressiveState->mModel->rowCount(),0);
    progressiveState->startNewSearch("d");
    QTest::qWait(2000);
    int i = progressiveState->mModel->rowCount();
    QVERIFY(progressiveState->mModel->rowCount());
    delete progressiveState;
    //  delete wind;
    }
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void SearchStateProviderTest::testopenResultitem()
    {
    //    HbMainWindow* wind = mainWindow();
    SearchProgressiveState* progressiveState = new SearchProgressiveState();
    QEvent *event = new QEvent(QEvent::None);

    progressiveState->mSelectedCategory.insert(1, true);
    progressiveState->onEntry(event);
    progressiveState->startNewSearch("a");
    QTest::qWait(100);
    progressiveState->cancelSearch();
    //code for getting the model index from model
    QModelIndex index = progressiveState->mModel->index(0, 0);
    progressiveState->openResultitem(index);
    delete progressiveState;
    //   delete wind;    
    }

// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void SearchStateProviderTest::testgetSettingCategory()
    {
    //    HbMainWindow* wind = mainWindow();
    SearchProgressiveState* progressiveState = new SearchProgressiveState();
    QEvent *event = new QEvent(QEvent::None);
    progressiveState->onEntry(event);

    progressiveState->getSettingCategory(3, true);
    QCOMPARE(progressiveState->mSelectedCategory.count(),1);
    delete progressiveState;
    //   delete wind;
    }

// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void SearchStateProviderTest::testsetSettings()
    {
    SearchProgressiveState* progressiveState = new SearchProgressiveState();
    QEvent *event = new QEvent(QEvent::None);
    progressiveState->onEntry(event);
    QSignalSpy spy(progressiveState, SIGNAL(settingsState()));
    progressiveState->setSettings();
    QCOMPARE(spy.count(), 1);
    delete progressiveState;
    }
void SearchStateProviderTest::teststartNewSearch()
    {
    SearchProgressiveState* progressiveState = new SearchProgressiveState();
    QEvent *event = new QEvent(QEvent::None);
    progressiveState->mSelectedCategory.insert(5, true);
    progressiveState->onEntry(event);
    progressiveState->startNewSearch("d");
    delete progressiveState;
    }
void SearchStateProviderTest::test_customizeGoButton()
    {
    SearchProgressiveState* progressiveState = new SearchProgressiveState();
    QEvent *event = new QEvent(QEvent::None);
    progressiveState->onEntry(event);
    progressiveState->_customizeGoButton(true);
    QVERIFY(!(progressiveState->mSearchPanel->isProgressive()));
    progressiveState->_customizeGoButton(false);
    QVERIFY(progressiveState->mSearchPanel->isProgressive());
    delete progressiveState;
    }
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void SearchStateProviderTest::testsettingsaction()
    {
    SearchProgressiveState* progressiveState = new SearchProgressiveState();
    QEvent *event = new QEvent(QEvent::None);
    progressiveState->onEntry(event);
    progressiveState->getSettingCategory(5, true);
    progressiveState->mOriginalString = "a";
    progressiveState->settingsaction(false);
    QCOMPARE(progressiveState->mResultcount, 0);
    progressiveState->settingsaction(true);
    QTest::qWait(50);
    progressiveState->cancelSearch();
    QCOMPARE(progressiveState->mResultcount, 0);
    delete progressiveState;
    }
// ---------------------------------------------------------------------------
//SearchStateProviderTest::testcancelsearch()
// ---------------------------------------------------------------------------
//
void SearchStateProviderTest::testcancelSearch()
    {
    SearchProgressiveState* progressiveState = new SearchProgressiveState();
    QEvent *event = new QEvent(QEvent::None);
    progressiveState->onEntry(event);
    progressiveState->getSettingCategory(5, true);
    progressiveState->startNewSearch("d");
    progressiveState->cancelSearch();
    delete progressiveState;

    }
void SearchStateProviderTest::testgetrowsInserted()
    {

    }
void SearchStateProviderTest::testgetrowsRemoved()
    {

    }
void SearchStateProviderTest::testhandleOkError()
    {
    SearchProgressiveState* progressiveState = new SearchProgressiveState();
    QEvent *event = new QEvent(QEvent::None);
    progressiveState->onEntry(event);
    QVariant var;
    progressiveState->handleOk(var);
    int ret = 0;
    progressiveState->handleError(ret, QString());
    delete progressiveState;
    }
void SearchStateProviderTest::test_viewingCompleted()
    {

    }
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void SearchStateProviderTest::testsearchOnCategory()
    {

    }
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void SearchStateProviderTest::testclear()
    {
    SearchProgressiveState* progressiveState = new SearchProgressiveState();
    QEvent *event = new QEvent(QEvent::None);
    progressiveState->onEntry(event);

    progressiveState->noResultsFound("aaa");
    QCOMPARE(progressiveState->mModel->rowCount(),1);
    progressiveState->clear();
    QCOMPARE(progressiveState->mModel->rowCount(),0);

    delete progressiveState;
    }

// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void SearchStateProviderTest::testnoResultsFound()
    {
    SearchProgressiveState* progressiveState = new SearchProgressiveState();
    QEvent *event = new QEvent(QEvent::None);
    progressiveState->onEntry(event);

    progressiveState->noResultsFound(NULL);
    QCOMPARE(progressiveState->mModel->rowCount(),0);

    progressiveState->noResultsFound("aaa");
    QCOMPARE(progressiveState->mModel->rowCount(),1);

    delete progressiveState;
    }

// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void SearchStateProviderTest::testcreateSuggestionLink()
    {
    SearchProgressiveState* progressiveState = new SearchProgressiveState();
    QEvent *event = new QEvent(QEvent::None);
    progressiveState->onEntry(event);

    progressiveState->createSuggestionLink(true);
    QCOMPARE(progressiveState->mModel->rowCount(), 0);
    progressiveState->createSuggestionLink(false);
    QCOMPARE(progressiveState->mModel->rowCount(), 1);
    delete progressiveState;
    }
void SearchStateProviderTest::testTDisplayMode2Format()
    {
    SearchProgressiveState* progressiveState = new SearchProgressiveState();
    QEvent *event = new QEvent(QEvent::None);
    progressiveState->onEntry(event);
    TDisplayMode mode = EGray2;
    progressiveState->TDisplayMode2Format(mode);
    mode = EColor256;
    progressiveState->TDisplayMode2Format(mode);
    mode = EGray256;
    progressiveState->TDisplayMode2Format(mode);
    mode = EColor4K;
    progressiveState->TDisplayMode2Format(mode);
    mode = EColor64K;
    progressiveState->TDisplayMode2Format(mode);
    mode = EColor16M;
    progressiveState->TDisplayMode2Format(mode);
    mode = EColor16MU;
    progressiveState->TDisplayMode2Format(mode);
    mode = EColor16MA;
    progressiveState->TDisplayMode2Format(mode);
    mode = EColor16MAP;
    progressiveState->TDisplayMode2Format(mode);
    mode = ENone;
    progressiveState->TDisplayMode2Format(mode);

    delete progressiveState;
    }
void SearchStateProviderTest::testfromSymbianCFbsBitmap()
    {

    }
void SearchStateProviderTest::testgetDrivefromMediaId()
    {
    SearchProgressiveState* progressiveState = new SearchProgressiveState();
    QEvent *event = new QEvent(QEvent::None);
    progressiveState->mSelectedCategory.insert(1, false);
    progressiveState->mSelectedCategory.insert(3, false);
    progressiveState->mSelectedCategory.insert(4, false);
    progressiveState->mSelectedCategory.insert(5, false);
    progressiveState->mSelectedCategory.insert(6, false);
    progressiveState->mSelectedCategory.insert(7, false);
    
    progressiveState->mSelectedCategory.insert(2, true);
    progressiveState->onEntry(event);
    progressiveState->startNewSearch("3gpp");
    QTest::qWait(200);
    QModelIndex index = progressiveState->mModel->index(1, 0);
    QStandardItem* item = progressiveState->mModel->itemFromIndex(index);
    QString uid = progressiveState->getDrivefromMediaId(item->data(
            Qt::UserRole + 2).toString());
    //QVERIFY(uid.length());
    delete progressiveState;
    }
void SearchStateProviderTest::testLaunchApplicationL()
    {
    SearchProgressiveState* progressiveState = new SearchProgressiveState();
    QEvent *event = new QEvent(QEvent::None);
    progressiveState->onEntry(event);
    progressiveState->LaunchApplicationL(TUid::Uid(0x20011383));
    delete progressiveState;
    }
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void SearchStateProviderTest::testfilterDoc()
    {
    SearchProgressiveState* progressiveState = new SearchProgressiveState();
    QEvent *event = new QEvent(QEvent::None);
    progressiveState->mSelectedCategory.insert(5, true);
    progressiveState->onEntry(event);
    progressiveState->startNewSearch("d");
    QTest::qWait(200);
    delete progressiveState;
    }