/*
* Copyright (c) 2008 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: Tests for WidgetBase class.
*
*/
#include "testwidgetmodel.h"
#include "hswidgetprovidermanifest.h"
#include "hsiwidgetprovider.h"
void TestWidgetModel::testWidgetProviderManifest()
{
HsWidgetProviderManifest manifest1;
manifest1.loadFromXml("notfound.manifest");
QVERIFY(manifest1.widgets().count() == 0);
HsWidgetProviderManifest manifest2;
manifest2.loadFromXml("notwellformedwidget.manifest");
QVERIFY(manifest2.widgets().count() == 0);
HsWidgetProviderManifest manifest3;
manifest3.loadFromXml("invalidwidget.manifest");
QVERIFY(manifest3.widgets().count() == 0);
HsWidgetProviderManifest manifest4;
manifest4.loadFromXml("validwidget.manifest");
QVERIFY(manifest4.loadOnQuery() == false);
QVERIFY(manifest4.widgets().count() > 0);
QList<HsWidgetToken> widgets = manifest4.widgets();
QCOMPARE(widgets.at(0).mLibrary, widgets.at(1).mLibrary);
QVERIFY(widgets.at(0).mUri == "homescreen.nokia.com/widget/testwidget");
HsWidgetProviderManifest manifest5;
manifest5.loadFromXml("validwidget2.manifest");
QVERIFY(manifest5.loadOnQuery() == true);
QVERIFY(manifest5.widgets().count() > 0);
QList<HsWidgetToken> widgets5 = manifest5.widgets();
QVERIFY(widgets5.at(0).mLibrary == "testwidgetprovider.dll");
QVERIFY(widgets5.at(0).mUri == "homescreen.nokia.com/widget/testwidget");
}
void TestWidgetModel::testWidgetManifests()
{
HsWidgetProviderManifest manifest;
manifest.loadFromXml("validwidget.manifest");
QList<HsWidgetToken> widgets = manifest.widgets();
QVERIFY(widgets.count() == 2);
}