--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/contentstorage/caclient/tsrc/t_caclient/src/t_caclient_entryquery.cpp Thu Sep 16 12:11:40 2010 +0100
@@ -0,0 +1,508 @@
+/*
+* 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: Main test class for hspluginmodel library.
+*
+*/
+
+#include <HbIcon>
+#include "t_caclient.h"
+#include "caservice.h"
+#include "caquery.h"
+#include "calocalizationentry.h"
+
+#include "camenuiconutility.h"
+
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void TestCaClient::TestEntryGetters()
+{
+ {
+ CaIconDescription iconDesc;
+ iconDesc.setFilename(QString("fileName"));
+ iconDesc.setSkinId(QString("skinId"));
+ iconDesc.setApplicationId(QString("268458321"));
+
+ CaEntry entry;
+ entry.setText(QString("test"));
+ entry.setFlags(UninstallEntryFlag);
+ entry.setEntryTypeName(QString("typeNameTest"));
+ entry.setAttribute(QString("aname"),QString("aval"));
+ entry.setIconDescription(iconDesc);
+
+ QCOMPARE(entry.text(), QString("test"));
+ QCOMPARE(entry.flags(), UninstallEntryFlag);
+ QCOMPARE(entry.entryTypeName(), QString("typeNameTest"));
+ QCOMPARE(entry.attribute(QString("aname")), QString("aval"));
+ QCOMPARE(entry.iconDescription().filename(), QString("fileName"));
+ QCOMPARE(entry.iconDescription().skinId(), QString("skinId"));
+ QCOMPARE(entry.iconDescription().applicationId(), QString("268458321"));
+ }
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void TestCaClient::TestEntryAssignmentOperator()
+{
+ {
+ CaIconDescription iconDesc;
+ iconDesc.setFilename(QString("fileName"));
+ iconDesc.setSkinId(QString("skinId"));
+ iconDesc.setApplicationId(QString("268458321"));
+
+ CaEntry entry;
+ entry.setText(QString("test"));
+ entry.setFlags(UninstallEntryFlag);
+ entry.setEntryTypeName(QString("typeNameTest"));
+ entry.setAttribute(QString("aname"),QString("aval"));
+ entry.setIconDescription(iconDesc);
+
+ CaEntry copied(entry);
+ CaEntry assigned;
+ assigned = entry;
+
+ QCOMPARE(copied.text(), QString("test"));
+ QCOMPARE(copied.flags(), UninstallEntryFlag);
+ QCOMPARE(copied.entryTypeName(), QString("typeNameTest"));
+ QCOMPARE(copied.attribute(QString("aname")), QString("aval"));
+ QCOMPARE(copied.iconDescription().filename(), QString("fileName"));
+ QCOMPARE(copied.iconDescription().skinId(), QString("skinId"));
+ QCOMPARE(copied.iconDescription().applicationId(), QString("268458321"));
+
+
+ QCOMPARE(assigned.text(), QString("test"));
+ QCOMPARE(assigned.flags(), UninstallEntryFlag);
+ QCOMPARE(assigned.entryTypeName(), QString("typeNameTest"));
+ QCOMPARE(assigned.attribute(QString("aname")), QString("aval"));
+ QCOMPARE(assigned.iconDescription().filename(), QString("fileName"));
+ QCOMPARE(assigned.iconDescription().skinId(), QString("skinId"));
+ QCOMPARE(assigned.iconDescription().applicationId(), QString("268458321"));
+
+ CaEntry group(GroupEntryRole);
+ group.setText(QString("test"));
+ group.setFlags(UninstallEntryFlag);
+ group.setEntryTypeName(QString("typeNameTest"));
+ group.setAttribute(QString("aname"),QString("aval"));
+ group.setIconDescription(iconDesc);
+
+ CaEntry copiedG(group);
+ CaEntry assignedG(GroupEntryRole);
+ assignedG = group;
+
+ QCOMPARE(copiedG.text(), QString("test"));
+ QCOMPARE(copiedG.flags(), UninstallEntryFlag);
+ QCOMPARE(copiedG.entryTypeName(), QString("typeNameTest"));
+ QCOMPARE(copiedG.attribute(QString("aname")), QString("aval"));
+ QCOMPARE(copiedG.iconDescription().filename(), QString("fileName"));
+ QCOMPARE(copiedG.iconDescription().skinId(), QString("skinId"));
+ QCOMPARE(copiedG.iconDescription().applicationId(), QString("268458321"));
+
+ QCOMPARE(assignedG.text(), QString("test"));
+ QCOMPARE(assignedG.flags(), UninstallEntryFlag);
+ QCOMPARE(assignedG.entryTypeName(), QString("typeNameTest"));
+ QCOMPARE(assignedG.attribute(QString("aname")), QString("aval"));
+ QCOMPARE(assignedG.iconDescription().filename(), QString("fileName"));
+ QCOMPARE(assignedG.iconDescription().skinId(), QString("skinId"));
+ QCOMPARE(assignedG.iconDescription().applicationId(), QString("268458321"));
+ }
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void TestCaClient::TestQueryGetters()
+{
+ {
+ CaQuery query;
+ query.setEntryRoles(ItemEntryRole);
+ QStringList typenames;
+ typenames << QString("typename1");
+ query.setEntryTypeNames(typenames);
+ query.addEntryTypeName(QString("typename2"));
+ query.setFlagsOn(UninstallEntryFlag);
+ query.setFlagsOff(RemovableEntryFlag);
+ query.setParentId(7777);
+ query.setChildId(1111);
+ query.setSort(MostUsedSortAttribute, Qt::AscendingOrder);
+ query.setCount(67);
+
+ QCOMPARE(query.entryRoles(), ItemEntryRole);
+ QCOMPARE(query.parentId(), 7777);
+ QCOMPARE(query.childId(), 1111);
+ QCOMPARE(query.count(), uint(67));
+ QCOMPARE(query.entryTypeNames().count(), 2);
+ QCOMPARE(query.entryTypeNames().at(0), QString("typename1"));
+ QCOMPARE(query.entryTypeNames().at(1), QString("typename2"));
+ QCOMPARE(query.flagsOn(), UninstallEntryFlag);
+ QCOMPARE(query.flagsOff(), RemovableEntryFlag);
+ SortAttribute srtAttr;
+ Qt::SortOrder srtOrd;
+ query.getSort(srtAttr,srtOrd);
+ QCOMPARE(srtAttr, MostUsedSortAttribute);
+ QCOMPARE(srtOrd, Qt::AscendingOrder);
+
+ }
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void TestCaClient::TestQueryClear()
+{
+ {
+ CaQuery query;
+ query.setEntryRoles(ItemEntryRole);
+ QStringList typenames;
+ typenames << QString("typename1");
+ query.setEntryTypeNames(typenames);
+ query.addEntryTypeName(QString("typename2"));
+ query.setFlagsOn(UninstallEntryFlag);
+ query.setFlagsOff(RemovableEntryFlag);
+ query.setParentId(7777);
+ query.setChildId(1111);
+ query.setSort(MostUsedSortAttribute, Qt::DescendingOrder);
+ query.setCount(67);
+
+ query.clear();
+
+ QCOMPARE(query.entryRoles(), ItemEntryRole|GroupEntryRole);
+ QCOMPARE(query.parentId(), 0);
+ QCOMPARE(query.childId(), 0);
+ QCOMPARE(query.count(), uint(0));
+ QCOMPARE(query.entryTypeNames().count(), 0);
+ QCOMPARE(query.flagsOn(), EntryFlags());
+ QCOMPARE(query.flagsOff(), EntryFlags());
+ SortAttribute srtAttr;
+ Qt::SortOrder srtOrd;
+ query.getSort(srtAttr,srtOrd);
+ QCOMPARE(srtAttr, DefaultSortAttribute);
+ QCOMPARE(srtOrd, Qt::AscendingOrder);
+ }
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void TestCaClient::TestQueryRemove()
+{
+ CaQuery query;
+ QString native("native");
+ QString zero("0");
+ query.setAttribute(native, zero);
+ QCOMPARE(query.attribute(native), zero);
+ query.removeAttribute(native);
+ QCOMPARE(query.attribute(native), QString());
+}
+
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void TestCaClient::TestQueryAssignmentOperator()
+{
+ {
+ CaQuery query;
+ query.setEntryRoles(ItemEntryRole);
+ QStringList typenames;
+ typenames << QString("typename1");
+ query.setEntryTypeNames(typenames);
+ query.addEntryTypeName(QString("typename2"));
+ query.setFlagsOn(UninstallEntryFlag);
+ query.setFlagsOff(RemovableEntryFlag);
+ query.setParentId(7777);
+ query.setChildId(1111);
+ query.setSort(MostUsedSortAttribute, Qt::DescendingOrder);
+ query.setCount(67);
+
+ CaQuery copied(query);
+ CaQuery assigned;
+ assigned = query;
+
+ QCOMPARE(copied.entryRoles(), ItemEntryRole);
+ QCOMPARE(copied.parentId(), 7777);
+ QCOMPARE(copied.childId(), 1111);
+ QCOMPARE(copied.count(), uint(67));
+ QCOMPARE(copied.entryTypeNames().count(), 2);
+ QCOMPARE(copied.entryTypeNames().at(0), QString("typename1"));
+ QCOMPARE(copied.entryTypeNames().at(1), QString("typename2"));
+ QCOMPARE(copied.flagsOn(), UninstallEntryFlag);
+ QCOMPARE(copied.flagsOff(), RemovableEntryFlag);
+ SortAttribute srtAttr;
+ Qt::SortOrder srtOrd;
+ copied.getSort(srtAttr,srtOrd);
+ QCOMPARE(srtAttr, MostUsedSortAttribute);
+ QCOMPARE(srtOrd, Qt::DescendingOrder);
+
+ QCOMPARE(assigned.entryRoles(), ItemEntryRole);
+ QCOMPARE(assigned.parentId(), 7777);
+ QCOMPARE(assigned.childId(), 1111);
+ QCOMPARE(assigned.count(), uint(67));
+ QCOMPARE(assigned.entryTypeNames().count(), 2);
+ QCOMPARE(assigned.entryTypeNames().at(0), QString("typename1"));
+ QCOMPARE(assigned.entryTypeNames().at(1), QString("typename2"));
+ QCOMPARE(assigned.flagsOn(), UninstallEntryFlag);
+ QCOMPARE(assigned.flagsOff(), RemovableEntryFlag);
+ assigned.getSort(srtAttr,srtOrd);
+ QCOMPARE(srtAttr, MostUsedSortAttribute);
+ QCOMPARE(srtOrd, Qt::DescendingOrder);
+ }
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void TestCaClient::TestMakeDefaultCollectionIcon()
+{
+ {
+ CaEntry entry;
+ entry.setText(QString("text"));
+ entry.setEntryTypeName(QString("collection"));
+ CaIconDescription iconDesc;// fake icon -> default should be fetched
+ iconDesc.setFilename(QString("fake"));
+ iconDesc.setSkinId(QString("fake"));
+ iconDesc.setApplicationId(QString("1234056789"));
+ entry.setIconDescription(iconDesc);
+ HbIcon icon = entry.makeIcon();
+ QVERIFY(icon.height() > 0);
+ QVERIFY(icon.width() > 0);
+ }
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void TestCaClient::TestMakeDefaultApplicationIcon()
+{
+ {
+ CaEntry entry;
+ entry.setText(QString("text"));
+ entry.setEntryTypeName(QString("application"));
+ CaIconDescription iconDesc;// fake icon -> default should be fetched
+ iconDesc.setFilename(QString("fake"));
+ iconDesc.setSkinId(QString("fake"));
+ iconDesc.setApplicationId(QString("1234056789"));
+ entry.setIconDescription(iconDesc);
+ HbIcon icon = entry.makeIcon();
+ QVERIFY(icon.height() > 0);
+ QVERIFY(icon.width() > 0);
+ }
+}
+
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void TestCaClient::TestMakeNotNativeApplicationIcon()
+{
+ {
+ CaEntry entry;
+ entry.setText(QString("text"));
+ entry.setEntryTypeName(QString("application"));
+ entry.setAttribute(QString("native"), QString("0"));
+ HbIcon icon = entry.makeIcon();
+ QVERIFY(icon.height() > 0);
+ QVERIFY(icon.width() > 0);
+ }
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void TestCaClient::TestMakeExistingIcon()
+{
+ {
+ CaEntry entry;
+ entry.setText(QString("text"));
+ entry.setEntryTypeName(QString("type"));
+ CaIconDescription iconDesc;// fake icon -> default should be fetched
+ iconDesc.setSkinId(QString("qtg_large_applications_user"));
+ entry.setIconDescription(iconDesc);
+ HbIcon icon = entry.makeIcon();
+ QVERIFY(icon.height() > 0);
+ QVERIFY(icon.width() > 0);
+
+ //tapplication
+ CaEntry entry2;
+ entry2.setText(QString("text2"));
+ entry2.setEntryTypeName(QString("templatedApplication"));
+ CaIconDescription iconDesc2;// fake icon -> default should be fetched
+ iconDesc2.setApplicationId(QString("537001519")); // bluetouth
+ entry2.setIconDescription(iconDesc2);
+ HbIcon icon2 = entry2.makeIcon();
+ QVERIFY(icon2.height() > 0);
+ QVERIFY(icon2.width() > 0);
+
+ }
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void TestCaClient::TestMakeNotExistingIcon()
+{
+ {
+ CaEntry entry;
+ entry.setText(QString("text"));
+ entry.setEntryTypeName(QString("type"));
+ CaIconDescription iconDesc;// fake icon
+ iconDesc.setFilename(QString("z:/resource/apps/fake.mif"));
+ entry.setIconDescription(iconDesc);
+ HbIcon icon = entry.makeIcon();
+ QVERIFY(icon.height() < 0);
+ QVERIFY(icon.width() < 0);
+
+ CaEntry entry2;
+ entry2.setText(QString("text2"));
+ entry2.setEntryTypeName(QString("type"));
+ CaIconDescription iconDesc2;// fake icon
+ iconDesc2.setFilename(QString("aaaa"));
+ entry2.setIconDescription(iconDesc2);
+ HbIcon icon2 = entry2.makeIcon();
+ QVERIFY(icon2.height() < 0);
+ QVERIFY(icon2.width() < 0);
+
+ CaEntry entry3;
+ entry3.setId(9999); //to avoid cache
+ entry3.setText(QString("text3"));
+ entry3.setEntryTypeName(QString("type"));
+ CaIconDescription iconDesc3;// fake icon
+ iconDesc3.setSkinId(QString("z:/resource/apps/fake_notcached.mif"));
+ entry3.setIconDescription(iconDesc3);
+ HbIcon icon3 = entry3.makeIcon();
+ QVERIFY(icon3.height() < 0);
+ QVERIFY(icon3.width() < 0);
+
+ CaEntry entry4;
+ entry4.setId(1000); //to avoid cache
+ entry4.setText(QString("text4"));
+ entry4.setEntryTypeName(QString("type"));
+ CaIconDescription iconDesc4;// fake icon
+ iconDesc4.setSkinId(QString("aaaa"));
+ entry4.setIconDescription(iconDesc4);
+ HbIcon icon4 = entry4.makeIcon();
+ QVERIFY(icon4.height() < 0);
+ QVERIFY(icon4.width() < 0);
+
+ }
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void TestCaClient::TestGetEntryIcon()
+{
+ {
+ CaEntry entry;
+ entry.setEntryTypeName(QString("application"));
+ QSizeF size(50,50);
+
+ HbIcon icon = CaMenuIconUtility::getEntryIcon(entry, size);
+ QVERIFY(icon.size().isValid());
+ QVERIFY(icon.height() > 0);
+ QVERIFY(icon.width() > 0);
+ }
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void TestCaClient::TestGetApplicationIcon()
+{
+ {
+ int uid = 270495019; // contest mbm icon
+ QSizeF size(50,50);
+
+ HbIcon icon = CaMenuIconUtility::getApplicationIcon(uid,size);
+
+ QVERIFY(icon.size().isValid());
+ QVERIFY(icon.height() > 0);
+ QVERIFY(icon.width() > 0);
+
+ int uid2 = 537006483; // AknConf mif icon
+ HbIcon icon2 = CaMenuIconUtility::getApplicationIcon(uid2,size);
+ QVERIFY(icon2.size().isValid());
+ }
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void TestCaClient::TestGetIconFromEntry()
+{
+ {
+ CaEntry entry;
+ entry.setEntryTypeName(QString("application"));
+ entry.iconDescription().setFilename(QString("qtg_large_applications_download"));
+ QSizeF size(50,50);
+ HbIcon icon = CaMenuIconUtility::getEntryIcon(entry,size);
+ QVERIFY(icon.size().isValid());
+ }
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void TestCaClient::TestGetIconFromApparc()
+{
+ {
+ CaEntry entry;
+ entry.setEntryTypeName(QString("application"));
+ int uid = 270495019; // contest mbm icon
+ QSizeF size(50,50);
+ HbIcon icon = CaMenuIconUtility::getApplicationIcon(uid,size);
+
+ QVERIFY(icon.size().isValid());
+ }
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void TestCaClient::TestGetDefaultIcon()
+{
+ {
+ CaEntry entry;
+ entry.setText(QString("text"));
+ entry.setEntryTypeName(QString("application"));
+ CaIconDescription iconDesc;// fake icon -> default should be fetched
+ iconDesc.setFilename(QString("fake"));
+ iconDesc.setSkinId(QString("fake"));
+
+ entry.setIconDescription(iconDesc);
+ HbIcon icon = CaMenuIconUtility::getEntryIcon(entry);
+ QVERIFY(icon.size().isValid());
+
+ entry.setEntryTypeName(QString("collection"));
+ HbIcon icon2 = CaMenuIconUtility::getEntryIcon(entry);
+ QVERIFY(icon2.size().isValid());
+
+ entry.setEntryTypeName(QString("url"));
+ HbIcon icon3 = CaMenuIconUtility::getEntryIcon(entry);
+ QVERIFY(icon3.size().isValid());
+
+ entry.setEntryTypeName(QString("widget"));
+ HbIcon icon4 = CaMenuIconUtility::getEntryIcon(entry);
+ QVERIFY(icon4.size().isValid());
+
+ entry.setEntryTypeName(QString("templatedApplication"));
+ HbIcon icon5 = CaMenuIconUtility::getEntryIcon(entry);
+ QVERIFY(icon5.size().isValid());
+
+ entry.setEntryTypeName(QString("package"));
+ HbIcon icon6 = CaMenuIconUtility::getEntryIcon(entry);
+ QVERIFY(icon6.size().isValid());
+ }
+}