contentstorage/caclient/tsrc/t_caclient/src/t_caclient_entryquery.cpp
changeset 117 c63ee96dbe5f
equal deleted inserted replaced
115:3ab5c078b490 117:c63ee96dbe5f
       
     1 /*
       
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Main test class for hspluginmodel library.
       
    15 *
       
    16 */
       
    17 
       
    18 #include <HbIcon>
       
    19 #include "t_caclient.h"
       
    20 #include "caservice.h"
       
    21 #include "caquery.h"
       
    22 #include "calocalizationentry.h"
       
    23 
       
    24 #include "camenuiconutility.h"
       
    25 
       
    26 
       
    27 // ---------------------------------------------------------------------------
       
    28 // ---------------------------------------------------------------------------
       
    29 //
       
    30 void TestCaClient::TestEntryGetters()
       
    31 {
       
    32     {
       
    33         CaIconDescription iconDesc;
       
    34         iconDesc.setFilename(QString("fileName"));
       
    35         iconDesc.setSkinId(QString("skinId"));
       
    36         iconDesc.setApplicationId(QString("268458321"));
       
    37 
       
    38         CaEntry entry;
       
    39         entry.setText(QString("test"));
       
    40         entry.setFlags(UninstallEntryFlag);
       
    41         entry.setEntryTypeName(QString("typeNameTest"));
       
    42         entry.setAttribute(QString("aname"),QString("aval"));
       
    43         entry.setIconDescription(iconDesc);
       
    44 
       
    45         QCOMPARE(entry.text(), QString("test"));
       
    46         QCOMPARE(entry.flags(), UninstallEntryFlag);
       
    47         QCOMPARE(entry.entryTypeName(), QString("typeNameTest"));
       
    48         QCOMPARE(entry.attribute(QString("aname")), QString("aval"));
       
    49         QCOMPARE(entry.iconDescription().filename(), QString("fileName"));
       
    50         QCOMPARE(entry.iconDescription().skinId(), QString("skinId"));
       
    51         QCOMPARE(entry.iconDescription().applicationId(), QString("268458321"));
       
    52     }
       
    53 }
       
    54 
       
    55 // ---------------------------------------------------------------------------
       
    56 // ---------------------------------------------------------------------------
       
    57 //
       
    58 void TestCaClient::TestEntryAssignmentOperator()
       
    59 {
       
    60     {
       
    61         CaIconDescription iconDesc;
       
    62         iconDesc.setFilename(QString("fileName"));
       
    63         iconDesc.setSkinId(QString("skinId"));
       
    64         iconDesc.setApplicationId(QString("268458321"));
       
    65 
       
    66         CaEntry entry;
       
    67         entry.setText(QString("test"));
       
    68         entry.setFlags(UninstallEntryFlag);
       
    69         entry.setEntryTypeName(QString("typeNameTest"));
       
    70         entry.setAttribute(QString("aname"),QString("aval"));
       
    71         entry.setIconDescription(iconDesc);
       
    72 
       
    73         CaEntry copied(entry);
       
    74         CaEntry assigned;
       
    75         assigned = entry;
       
    76 
       
    77         QCOMPARE(copied.text(), QString("test"));
       
    78         QCOMPARE(copied.flags(), UninstallEntryFlag);
       
    79         QCOMPARE(copied.entryTypeName(), QString("typeNameTest"));
       
    80         QCOMPARE(copied.attribute(QString("aname")), QString("aval"));
       
    81         QCOMPARE(copied.iconDescription().filename(), QString("fileName"));
       
    82         QCOMPARE(copied.iconDescription().skinId(), QString("skinId"));
       
    83         QCOMPARE(copied.iconDescription().applicationId(), QString("268458321"));
       
    84         
       
    85         
       
    86         QCOMPARE(assigned.text(), QString("test"));
       
    87         QCOMPARE(assigned.flags(), UninstallEntryFlag);
       
    88         QCOMPARE(assigned.entryTypeName(), QString("typeNameTest"));
       
    89         QCOMPARE(assigned.attribute(QString("aname")), QString("aval"));
       
    90         QCOMPARE(assigned.iconDescription().filename(), QString("fileName"));
       
    91         QCOMPARE(assigned.iconDescription().skinId(), QString("skinId"));
       
    92         QCOMPARE(assigned.iconDescription().applicationId(), QString("268458321"));
       
    93 
       
    94         CaEntry group(GroupEntryRole);
       
    95         group.setText(QString("test"));
       
    96         group.setFlags(UninstallEntryFlag);
       
    97         group.setEntryTypeName(QString("typeNameTest"));
       
    98         group.setAttribute(QString("aname"),QString("aval"));
       
    99         group.setIconDescription(iconDesc);
       
   100 
       
   101         CaEntry copiedG(group);
       
   102         CaEntry assignedG(GroupEntryRole);
       
   103         assignedG = group;
       
   104 
       
   105         QCOMPARE(copiedG.text(), QString("test"));
       
   106         QCOMPARE(copiedG.flags(), UninstallEntryFlag);
       
   107         QCOMPARE(copiedG.entryTypeName(), QString("typeNameTest"));
       
   108         QCOMPARE(copiedG.attribute(QString("aname")), QString("aval"));
       
   109         QCOMPARE(copiedG.iconDescription().filename(), QString("fileName"));
       
   110         QCOMPARE(copiedG.iconDescription().skinId(), QString("skinId"));
       
   111         QCOMPARE(copiedG.iconDescription().applicationId(), QString("268458321"));
       
   112 
       
   113         QCOMPARE(assignedG.text(), QString("test"));
       
   114         QCOMPARE(assignedG.flags(), UninstallEntryFlag);
       
   115         QCOMPARE(assignedG.entryTypeName(), QString("typeNameTest"));
       
   116         QCOMPARE(assignedG.attribute(QString("aname")), QString("aval"));
       
   117         QCOMPARE(assignedG.iconDescription().filename(), QString("fileName"));
       
   118         QCOMPARE(assignedG.iconDescription().skinId(), QString("skinId"));
       
   119         QCOMPARE(assignedG.iconDescription().applicationId(), QString("268458321"));
       
   120     }
       
   121 }
       
   122 
       
   123 // ---------------------------------------------------------------------------
       
   124 // ---------------------------------------------------------------------------
       
   125 //
       
   126 void TestCaClient::TestQueryGetters()
       
   127 {
       
   128     {
       
   129         CaQuery query;
       
   130         query.setEntryRoles(ItemEntryRole);
       
   131         QStringList typenames;
       
   132         typenames << QString("typename1");
       
   133         query.setEntryTypeNames(typenames);
       
   134         query.addEntryTypeName(QString("typename2"));
       
   135         query.setFlagsOn(UninstallEntryFlag);
       
   136         query.setFlagsOff(RemovableEntryFlag);
       
   137         query.setParentId(7777);
       
   138         query.setChildId(1111);
       
   139         query.setSort(MostUsedSortAttribute, Qt::AscendingOrder);
       
   140         query.setCount(67);
       
   141 
       
   142         QCOMPARE(query.entryRoles(), ItemEntryRole);
       
   143         QCOMPARE(query.parentId(), 7777);
       
   144         QCOMPARE(query.childId(), 1111);
       
   145         QCOMPARE(query.count(), uint(67));
       
   146         QCOMPARE(query.entryTypeNames().count(), 2);
       
   147         QCOMPARE(query.entryTypeNames().at(0), QString("typename1"));
       
   148         QCOMPARE(query.entryTypeNames().at(1), QString("typename2"));
       
   149         QCOMPARE(query.flagsOn(), UninstallEntryFlag);
       
   150         QCOMPARE(query.flagsOff(), RemovableEntryFlag);
       
   151         SortAttribute srtAttr;
       
   152         Qt::SortOrder srtOrd;
       
   153         query.getSort(srtAttr,srtOrd);
       
   154         QCOMPARE(srtAttr, MostUsedSortAttribute);
       
   155         QCOMPARE(srtOrd, Qt::AscendingOrder);
       
   156 
       
   157     }
       
   158 }
       
   159 
       
   160 // ---------------------------------------------------------------------------
       
   161 // ---------------------------------------------------------------------------
       
   162 //
       
   163 void TestCaClient::TestQueryClear()
       
   164 {
       
   165     {
       
   166         CaQuery query;
       
   167         query.setEntryRoles(ItemEntryRole);
       
   168         QStringList typenames;
       
   169         typenames << QString("typename1");
       
   170         query.setEntryTypeNames(typenames);
       
   171         query.addEntryTypeName(QString("typename2"));
       
   172         query.setFlagsOn(UninstallEntryFlag);
       
   173         query.setFlagsOff(RemovableEntryFlag);
       
   174         query.setParentId(7777);
       
   175         query.setChildId(1111);
       
   176         query.setSort(MostUsedSortAttribute, Qt::DescendingOrder);
       
   177         query.setCount(67);
       
   178 
       
   179         query.clear();
       
   180 
       
   181         QCOMPARE(query.entryRoles(), ItemEntryRole|GroupEntryRole);
       
   182         QCOMPARE(query.parentId(), 0);
       
   183         QCOMPARE(query.childId(), 0);
       
   184         QCOMPARE(query.count(), uint(0));
       
   185         QCOMPARE(query.entryTypeNames().count(), 0);
       
   186         QCOMPARE(query.flagsOn(), EntryFlags());
       
   187         QCOMPARE(query.flagsOff(), EntryFlags());
       
   188         SortAttribute srtAttr;
       
   189         Qt::SortOrder srtOrd;
       
   190         query.getSort(srtAttr,srtOrd);
       
   191         QCOMPARE(srtAttr, DefaultSortAttribute);
       
   192         QCOMPARE(srtOrd, Qt::AscendingOrder);
       
   193     }
       
   194 }
       
   195 
       
   196 // ---------------------------------------------------------------------------
       
   197 // ---------------------------------------------------------------------------
       
   198 //
       
   199 void TestCaClient::TestQueryRemove()
       
   200 {
       
   201 	CaQuery query;
       
   202 	QString native("native");
       
   203 	QString zero("0");
       
   204 	query.setAttribute(native, zero);
       
   205 	QCOMPARE(query.attribute(native), zero);
       
   206 	query.removeAttribute(native);
       
   207 	QCOMPARE(query.attribute(native), QString());
       
   208 }
       
   209 
       
   210 
       
   211 // ---------------------------------------------------------------------------
       
   212 // ---------------------------------------------------------------------------
       
   213 //
       
   214 void TestCaClient::TestQueryAssignmentOperator()
       
   215 {
       
   216     {
       
   217         CaQuery query;
       
   218         query.setEntryRoles(ItemEntryRole);
       
   219         QStringList typenames;
       
   220         typenames << QString("typename1");
       
   221         query.setEntryTypeNames(typenames);
       
   222         query.addEntryTypeName(QString("typename2"));
       
   223         query.setFlagsOn(UninstallEntryFlag);
       
   224         query.setFlagsOff(RemovableEntryFlag);
       
   225         query.setParentId(7777);
       
   226         query.setChildId(1111);
       
   227         query.setSort(MostUsedSortAttribute, Qt::DescendingOrder);
       
   228         query.setCount(67);
       
   229 
       
   230         CaQuery copied(query);
       
   231         CaQuery assigned;
       
   232         assigned = query;
       
   233 
       
   234         QCOMPARE(copied.entryRoles(), ItemEntryRole);
       
   235         QCOMPARE(copied.parentId(), 7777);
       
   236         QCOMPARE(copied.childId(), 1111);
       
   237         QCOMPARE(copied.count(), uint(67));
       
   238         QCOMPARE(copied.entryTypeNames().count(), 2);
       
   239         QCOMPARE(copied.entryTypeNames().at(0), QString("typename1"));
       
   240         QCOMPARE(copied.entryTypeNames().at(1), QString("typename2"));
       
   241         QCOMPARE(copied.flagsOn(), UninstallEntryFlag);
       
   242         QCOMPARE(copied.flagsOff(), RemovableEntryFlag);
       
   243         SortAttribute srtAttr;
       
   244         Qt::SortOrder srtOrd;
       
   245         copied.getSort(srtAttr,srtOrd);
       
   246         QCOMPARE(srtAttr, MostUsedSortAttribute);
       
   247         QCOMPARE(srtOrd, Qt::DescendingOrder);
       
   248 
       
   249         QCOMPARE(assigned.entryRoles(), ItemEntryRole);
       
   250         QCOMPARE(assigned.parentId(), 7777);
       
   251         QCOMPARE(assigned.childId(), 1111);
       
   252         QCOMPARE(assigned.count(), uint(67));
       
   253         QCOMPARE(assigned.entryTypeNames().count(), 2);
       
   254         QCOMPARE(assigned.entryTypeNames().at(0), QString("typename1"));
       
   255         QCOMPARE(assigned.entryTypeNames().at(1), QString("typename2"));
       
   256         QCOMPARE(assigned.flagsOn(), UninstallEntryFlag);
       
   257         QCOMPARE(assigned.flagsOff(), RemovableEntryFlag);
       
   258         assigned.getSort(srtAttr,srtOrd);
       
   259         QCOMPARE(srtAttr, MostUsedSortAttribute);
       
   260         QCOMPARE(srtOrd, Qt::DescendingOrder);
       
   261     }
       
   262 }
       
   263 
       
   264 // ---------------------------------------------------------------------------
       
   265 // ---------------------------------------------------------------------------
       
   266 //
       
   267 void TestCaClient::TestMakeDefaultCollectionIcon()
       
   268 {
       
   269     {
       
   270         CaEntry entry;
       
   271         entry.setText(QString("text"));
       
   272         entry.setEntryTypeName(QString("collection"));
       
   273         CaIconDescription iconDesc;// fake icon -> default should be fetched
       
   274         iconDesc.setFilename(QString("fake"));
       
   275         iconDesc.setSkinId(QString("fake"));
       
   276         iconDesc.setApplicationId(QString("1234056789"));
       
   277         entry.setIconDescription(iconDesc);
       
   278         HbIcon icon = entry.makeIcon();
       
   279         QVERIFY(icon.height() > 0);
       
   280         QVERIFY(icon.width() > 0);
       
   281     }
       
   282 }
       
   283 
       
   284 // ---------------------------------------------------------------------------
       
   285 // ---------------------------------------------------------------------------
       
   286 //
       
   287 void TestCaClient::TestMakeDefaultApplicationIcon()
       
   288 {
       
   289     {
       
   290         CaEntry entry;
       
   291         entry.setText(QString("text"));
       
   292         entry.setEntryTypeName(QString("application"));
       
   293         CaIconDescription iconDesc;// fake icon -> default should be fetched
       
   294         iconDesc.setFilename(QString("fake"));
       
   295         iconDesc.setSkinId(QString("fake"));
       
   296         iconDesc.setApplicationId(QString("1234056789"));
       
   297         entry.setIconDescription(iconDesc);
       
   298         HbIcon icon = entry.makeIcon();
       
   299         QVERIFY(icon.height() > 0);
       
   300         QVERIFY(icon.width() > 0);
       
   301     }
       
   302 }
       
   303 
       
   304 
       
   305 // ---------------------------------------------------------------------------
       
   306 // ---------------------------------------------------------------------------
       
   307 //
       
   308 void TestCaClient::TestMakeNotNativeApplicationIcon()
       
   309 {
       
   310     {
       
   311         CaEntry entry;
       
   312         entry.setText(QString("text"));
       
   313         entry.setEntryTypeName(QString("application"));
       
   314         entry.setAttribute(QString("native"), QString("0"));
       
   315         HbIcon icon = entry.makeIcon();
       
   316         QVERIFY(icon.height() > 0);
       
   317         QVERIFY(icon.width() > 0);
       
   318     }
       
   319 }
       
   320 
       
   321 // ---------------------------------------------------------------------------
       
   322 // ---------------------------------------------------------------------------
       
   323 //
       
   324 void TestCaClient::TestMakeExistingIcon()
       
   325 {
       
   326     {
       
   327         CaEntry entry;
       
   328         entry.setText(QString("text"));
       
   329         entry.setEntryTypeName(QString("type"));
       
   330         CaIconDescription iconDesc;// fake icon -> default should be fetched
       
   331         iconDesc.setSkinId(QString("qtg_large_applications_user"));
       
   332         entry.setIconDescription(iconDesc);
       
   333         HbIcon icon = entry.makeIcon();
       
   334         QVERIFY(icon.height() > 0);
       
   335         QVERIFY(icon.width() > 0);
       
   336 
       
   337         //tapplication
       
   338         CaEntry entry2;
       
   339         entry2.setText(QString("text2"));
       
   340         entry2.setEntryTypeName(QString("templatedApplication"));
       
   341         CaIconDescription iconDesc2;// fake icon -> default should be fetched
       
   342         iconDesc2.setApplicationId(QString("537001519")); // bluetouth
       
   343         entry2.setIconDescription(iconDesc2);
       
   344         HbIcon icon2 = entry2.makeIcon();
       
   345         QVERIFY(icon2.height() > 0);
       
   346         QVERIFY(icon2.width() > 0);
       
   347 
       
   348     }
       
   349 }
       
   350 
       
   351 // ---------------------------------------------------------------------------
       
   352 // ---------------------------------------------------------------------------
       
   353 //
       
   354 void TestCaClient::TestMakeNotExistingIcon()
       
   355 {
       
   356     {
       
   357         CaEntry entry;
       
   358         entry.setText(QString("text"));
       
   359         entry.setEntryTypeName(QString("type"));
       
   360         CaIconDescription iconDesc;// fake icon
       
   361         iconDesc.setFilename(QString("z:/resource/apps/fake.mif"));
       
   362         entry.setIconDescription(iconDesc);
       
   363         HbIcon icon = entry.makeIcon();
       
   364         QVERIFY(icon.height() < 0);
       
   365         QVERIFY(icon.width() < 0);
       
   366 
       
   367         CaEntry entry2;
       
   368         entry2.setText(QString("text2"));
       
   369         entry2.setEntryTypeName(QString("type"));
       
   370         CaIconDescription iconDesc2;// fake icon
       
   371         iconDesc2.setFilename(QString("aaaa"));
       
   372         entry2.setIconDescription(iconDesc2);
       
   373         HbIcon icon2 = entry2.makeIcon();
       
   374         QVERIFY(icon2.height() < 0);
       
   375         QVERIFY(icon2.width() < 0);
       
   376         
       
   377         CaEntry entry3;
       
   378         entry3.setId(9999); //to avoid cache
       
   379         entry3.setText(QString("text3"));
       
   380         entry3.setEntryTypeName(QString("type"));
       
   381         CaIconDescription iconDesc3;// fake icon
       
   382         iconDesc3.setSkinId(QString("z:/resource/apps/fake_notcached.mif"));
       
   383         entry3.setIconDescription(iconDesc3);
       
   384         HbIcon icon3 = entry3.makeIcon();
       
   385         QVERIFY(icon3.height() < 0);
       
   386         QVERIFY(icon3.width() < 0);
       
   387 
       
   388         CaEntry entry4;
       
   389         entry4.setId(1000); //to avoid cache
       
   390         entry4.setText(QString("text4"));
       
   391         entry4.setEntryTypeName(QString("type"));
       
   392         CaIconDescription iconDesc4;// fake icon
       
   393         iconDesc4.setSkinId(QString("aaaa"));
       
   394         entry4.setIconDescription(iconDesc4);
       
   395         HbIcon icon4 = entry4.makeIcon();
       
   396         QVERIFY(icon4.height() < 0);
       
   397         QVERIFY(icon4.width() < 0);
       
   398 
       
   399     }
       
   400 }
       
   401 
       
   402 // ---------------------------------------------------------------------------
       
   403 // ---------------------------------------------------------------------------
       
   404 //
       
   405 void TestCaClient::TestGetEntryIcon()
       
   406 {
       
   407     {
       
   408     CaEntry entry;
       
   409     entry.setEntryTypeName(QString("application"));
       
   410     QSizeF size(50,50);
       
   411     
       
   412     HbIcon icon = CaMenuIconUtility::getEntryIcon(entry, size);
       
   413     QVERIFY(icon.size().isValid());
       
   414     QVERIFY(icon.height() > 0);
       
   415     QVERIFY(icon.width() > 0);
       
   416     }
       
   417 }
       
   418 
       
   419 // ---------------------------------------------------------------------------
       
   420 // ---------------------------------------------------------------------------
       
   421 //
       
   422 void TestCaClient::TestGetApplicationIcon()
       
   423 {
       
   424     {
       
   425     int uid = 270495019; // contest mbm icon
       
   426     QSizeF size(50,50);
       
   427     
       
   428     HbIcon icon = CaMenuIconUtility::getApplicationIcon(uid,size);
       
   429     
       
   430     QVERIFY(icon.size().isValid());
       
   431     QVERIFY(icon.height() > 0);
       
   432     QVERIFY(icon.width() > 0);
       
   433     
       
   434     int uid2 = 537006483; // AknConf mif icon
       
   435     HbIcon icon2 = CaMenuIconUtility::getApplicationIcon(uid2,size);
       
   436     QVERIFY(icon2.size().isValid());
       
   437     }
       
   438 }
       
   439 
       
   440 // ---------------------------------------------------------------------------
       
   441 // ---------------------------------------------------------------------------
       
   442 //
       
   443 void TestCaClient::TestGetIconFromEntry()
       
   444 {
       
   445     {
       
   446     CaEntry entry;
       
   447     entry.setEntryTypeName(QString("application"));
       
   448     entry.iconDescription().setFilename(QString("qtg_large_applications_download"));
       
   449     QSizeF size(50,50);
       
   450     HbIcon icon = CaMenuIconUtility::getEntryIcon(entry,size);
       
   451     QVERIFY(icon.size().isValid());
       
   452     }
       
   453 }
       
   454 
       
   455 // ---------------------------------------------------------------------------
       
   456 // ---------------------------------------------------------------------------
       
   457 //
       
   458 void TestCaClient::TestGetIconFromApparc()
       
   459 {
       
   460     {
       
   461     CaEntry entry;
       
   462     entry.setEntryTypeName(QString("application"));
       
   463     int uid = 270495019; // contest mbm icon
       
   464     QSizeF size(50,50);
       
   465     HbIcon icon = CaMenuIconUtility::getApplicationIcon(uid,size);
       
   466     
       
   467     QVERIFY(icon.size().isValid());
       
   468     }
       
   469 }
       
   470 
       
   471 // ---------------------------------------------------------------------------
       
   472 // ---------------------------------------------------------------------------
       
   473 //
       
   474 void TestCaClient::TestGetDefaultIcon()
       
   475 {
       
   476     {
       
   477     CaEntry entry;
       
   478     entry.setText(QString("text"));
       
   479     entry.setEntryTypeName(QString("application"));
       
   480     CaIconDescription iconDesc;// fake icon -> default should be fetched
       
   481     iconDesc.setFilename(QString("fake"));
       
   482     iconDesc.setSkinId(QString("fake"));
       
   483 
       
   484     entry.setIconDescription(iconDesc);
       
   485     HbIcon icon = CaMenuIconUtility::getEntryIcon(entry);
       
   486     QVERIFY(icon.size().isValid());
       
   487     
       
   488     entry.setEntryTypeName(QString("collection"));
       
   489     HbIcon icon2 = CaMenuIconUtility::getEntryIcon(entry);
       
   490     QVERIFY(icon2.size().isValid());
       
   491     
       
   492     entry.setEntryTypeName(QString("url"));
       
   493     HbIcon icon3 = CaMenuIconUtility::getEntryIcon(entry);
       
   494     QVERIFY(icon3.size().isValid());
       
   495     
       
   496     entry.setEntryTypeName(QString("widget"));
       
   497     HbIcon icon4 = CaMenuIconUtility::getEntryIcon(entry);
       
   498     QVERIFY(icon4.size().isValid());
       
   499     
       
   500     entry.setEntryTypeName(QString("templatedApplication"));
       
   501     HbIcon icon5 = CaMenuIconUtility::getEntryIcon(entry);
       
   502     QVERIFY(icon5.size().isValid());
       
   503     
       
   504     entry.setEntryTypeName(QString("package"));
       
   505     HbIcon icon6 = CaMenuIconUtility::getEntryIcon(entry);
       
   506     QVERIFY(icon6.size().isValid());
       
   507     }
       
   508 }