searchui/onlinehandler/tsrc/t_onlinehandler/src/t_onlinehandler.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
permissions -rw-r--r--
Revision: 201033 Kit: 201035

/*
 * 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:  test searchonlinehandler.
 *
 */
#include "t_onlinehandler.h"
#include "onlinehandler.h"
#include <qsignalspy.h>
#include "serviceprovider.h"
#include "isengine.h"
#include "isproviderdbmanager.h"

SearchOnlineHandlerTest::SearchOnlineHandlerTest()
    {
    }
SearchOnlineHandlerTest::~SearchOnlineHandlerTest()
    {
    }
void SearchOnlineHandlerTest::init()
    {
    }
void SearchOnlineHandlerTest::initTestCase()
    {
    }
void SearchOnlineHandlerTest::cleanupTestCase()
    {
    }
void SearchOnlineHandlerTest::testsetDefaultProvider()
    {
    OnlineHandler* onlinetestobj = new OnlineHandler();
    onlinetestobj->readSettings();
    if (onlinetestobj->mAvailableProviders.count())
        {
        onlinetestobj->mAvailableProviders.at(0);
        int i = onlinetestobj->mAvailableProviders.at(0).Id();
        onlinetestobj->setDefaultProvider(i);
        onlinetestobj->mEng->SelectedProvider();
        QCOMPARE(i,onlinetestobj->mEng->SelectedProvider()->Id());
        }
    delete onlinetestobj;
    }
void SearchOnlineHandlerTest::testinitializePlugin()
    {
    OnlineHandler* onlinetestobj = new OnlineHandler();
    onlinetestobj->readSettings();
  //  QSignalSpy spy(onlinetestobj, SIGNAL(pluginIntialized(bool)));
    onlinetestobj->initializePlugin();
   // QCOMPARE(spy.count(), 1);
    delete onlinetestobj;
    }
void SearchOnlineHandlerTest::testactivatePlugin()
    {
    OnlineHandler* onlinetestobj = new OnlineHandler();
    onlinetestobj->readSettings();
    onlinetestobj->initializePlugin();
    onlinetestobj->activatePlugin();
   /* delete onlinetestobj->mOnlinePlugin;
    onlinetestobj->mOnlinePlugin = NULL;
    onlinetestobj->activatePlugin();*/
    delete onlinetestobj;
    }
void SearchOnlineHandlerTest::testactivatePlugin1()
    {
    OnlineHandler* onlinetestobj = new OnlineHandler();
    onlinetestobj->readSettings();
    onlinetestobj->initializePlugin();
    onlinetestobj->activatePlugin("ab");
    /*delete onlinetestobj->mOnlinePlugin;
    onlinetestobj->mOnlinePlugin = NULL;
    onlinetestobj->activatePlugin("ab");
*/    delete onlinetestobj;
    }
void SearchOnlineHandlerTest::testwriteSettings()
    {
    OnlineHandler* onlinetestobj = new OnlineHandler();
    onlinetestobj->readSettings();
    if (onlinetestobj->mAvailableProviders.count())
        {
        onlinetestobj->writeSettings(
                onlinetestobj->mAvailableProviders.at(0).Id());
        }
    delete onlinetestobj;
    }
void SearchOnlineHandlerTest::testloadISPlugin()
    {
    OnlineHandler* onlinetestobj = new OnlineHandler();
    onlinetestobj->readSettings();
    if (onlinetestobj->mAvailableProviders.count())
        {
        QSignalSpy spy(onlinetestobj, SIGNAL(pluginIntialized(bool)));
        onlinetestobj->loadISPlugin(
                onlinetestobj->mAvailableProviders.at(0).Id(), "ab");
        QCOMPARE(spy.count(), 0);
        }
    delete onlinetestobj;
    }
void SearchOnlineHandlerTest::testunloadPlugin()
    {
    OnlineHandler* onlinetestobj = new OnlineHandler();
    onlinetestobj->readSettings();
    onlinetestobj->initializePlugin();
    onlinetestobj->unloadPlugin();
    delete onlinetestobj;
    }
void SearchOnlineHandlerTest::testunloadPluginandExit()
    {
    OnlineHandler* onlinetestobj = new OnlineHandler();
    onlinetestobj->readSettings();
    onlinetestobj->initializePlugin();
 //   QSignalSpy spy(onlinetestobj, SIGNAL(pluginShutdown(bool)));
    onlinetestobj->unloadPluginandExit();
    //QCOMPARE(spy.count(), 1);
    delete onlinetestobj;
    }

void SearchOnlineHandlerTest::testbackEvent()
    {
    OnlineHandler* onlinetestobj = new OnlineHandler();
    QSignalSpy spy(onlinetestobj, SIGNAL(backEventTriggered()));
    onlinetestobj->backEvent();
    QCOMPARE(spy.count(), 1);
    delete onlinetestobj;
    }

void SearchOnlineHandlerTest::testPerformWebSearch()
    {
   /* OnlineHandler* onlinetestobj = new OnlineHandler();
    onlinetestobj->readSettings();
    if (onlinetestobj->mEng)
        {
        onlinetestobj->mEng->PerformWebSearch("string");
        }
    delete onlinetestobj;*/
    }
void SearchOnlineHandlerTest::testPerformInDeviceSearch()
    {
    /*OnlineHandler* onlinetestobj = new OnlineHandler();
    onlinetestobj->readSettings();
    if (onlinetestobj->mEng)
        {
        onlinetestobj->mEng->PerformInDeviceSearch("string");
        }
    delete onlinetestobj;*/
    }

#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();
    SearchOnlineHandlerTest tc;
    return QTest::qExec(&tc, 3, new_argv);
#else
    SearchOnlineHandlerTest tc;
    return QTest::qExec(&tc, argc, argv);
#endif

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