contentstorage/caclient/tsrc/t_caclient/src/t_caclient_entryquery.cpp
changeset 117 c63ee96dbe5f
--- /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());
+    }
+}