--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/contentstorage/tsrc/t_casrv/src/t_casrvutils.cpp Thu Sep 16 12:11:40 2010 +0100
@@ -0,0 +1,208 @@
+/*
+* Copyright (c) 2004 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:
+*
+*/
+
+
+// CLASS HEADER
+#include "T_casrvUtils.h"
+
+// EXTERNAL INCLUDES
+#include <e32property.h>
+#include <e32debug.h>
+
+#include "cadef.h"
+#include "castorageproxy.h"
+#include "castorage.h"
+#include "casrvengutils.h"
+#include "cainnerentry.h"
+
+// INTERNAL INCLUDES
+#include "casrvtestutils.h"
+#include "testconsts.h"
+
+// CONSTANTS
+const TUid KAppScannerPluginUid = {0x20026FAF};
+
+void T_casrvUtils::initTestCase()
+{
+}
+
+void T_casrvUtils::cleanupTestCase()
+{
+}
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+void
+T_casrvUtils::init()
+{
+ TRAPD(err,
+ iTestUtils = CTestUtils::NewL();
+ iTestUtils->CopyDb();
+
+ iStorage = CCaStorageProxy::NewL();
+
+ iSrvEngUtils = CCaSrvEngUtils::NewL();
+ );
+ QCOMPARE(err, KErrNone);
+}
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+void
+T_casrvUtils::cleanup()
+{
+
+ delete iSrvEngUtils;
+ iSrvEngUtils = NULL;
+ delete iStorage;
+ iStorage = NULL;
+ delete iTestUtils;
+ iTestUtils = NULL;
+
+}
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+void
+T_casrvUtils::testNewL()
+{
+ CCaSrvEngUtils *obj(0);
+
+ TRAPD(err, obj = CCaSrvEngUtils::NewL());
+ QCOMPARE(err, KErrNone);
+
+ QVERIFY(obj != NULL);
+
+ delete obj;
+}
+
+void
+T_casrvUtils::testGetAppUidL()
+{
+ TInt getAppUidResult(KErrGeneral);
+ TInt getInvalidAppUidResult(KErrNone);
+ TUid actualAppUid = TUid::Uid(0);
+ const TInt32 expectedAppUid = 1;
+
+ TRAPD(err,
+ CCaInnerEntry *const entry = CCaInnerEntry::NewLC();
+
+ entry->SetUid(expectedAppUid);
+
+
+ getAppUidResult =
+ iSrvEngUtils->GetAppUid(*entry, actualAppUid);
+
+ const TInt32 invalidUid = 0;
+ entry->SetUid(invalidUid);
+
+ getInvalidAppUidResult =
+ iSrvEngUtils->GetAppUid(*entry, actualAppUid);
+
+ CleanupStack::PopAndDestroy(entry);
+ );
+
+ QCOMPARE(err, KErrNone);
+ QCOMPARE(getAppUidResult, KErrNone);
+ QCOMPARE(expectedAppUid, actualAppUid.iUid);
+ QCOMPARE(getInvalidAppUidResult, KErrNotFound);
+}
+
+void
+T_casrvUtils::testGetApaAppInfoL()
+{
+ TApaAppInfo referenceInfo;
+
+ RApaLsSession apaLsSession;
+ TInt err(KErrNone);
+ TRAP(err, User::LeaveIfError(apaLsSession.Connect()));
+ QCOMPARE(err, KErrNone);
+
+ QCOMPARE(apaLsSession.GetAppInfo(referenceInfo, TUid::Uid(KSystemApp)), KErrNone);
+
+ TApaAppInfo srvEngUtilsInfo;
+ const TInt result = iSrvEngUtils->GetApaAppInfo(
+ TUid::Uid(KSystemApp), srvEngUtilsInfo);
+ QCOMPARE(result, KErrNone);
+
+ QCOMPARE(srvEngUtilsInfo.iUid.iUid, referenceInfo.iUid.iUid);
+ QVERIFY(srvEngUtilsInfo.iFullName.Compare(referenceInfo.iFullName) == 0);
+ QVERIFY(srvEngUtilsInfo.iCaption.Compare(referenceInfo.iCaption) == 0);
+ QVERIFY(srvEngUtilsInfo.iShortCaption.Compare(referenceInfo.iShortCaption) == 0);
+}
+
+void
+T_casrvUtils::testGetAppInfoL()
+{
+ CCaInnerEntry *entry(0);
+ TRAPD(err,
+ entry = CCaInnerEntry::NewLC();
+ CleanupStack::Pop(entry);
+ );
+ QCOMPARE(err, KErrNone);
+
+ TApaAppInfo info;
+
+ entry->SetUid(KSystemApp);
+
+ TInt result = iSrvEngUtils->GetAppInfo(*entry, info);
+ QCOMPARE(result, KErrNone);
+ QCOMPARE(info.iUid.iUid, static_cast<TInt32>(KSystemApp));
+ QVERIFY(info.iFullName.Compare(_L("Z:\\sys\\bin\\phonebook.exe")) == 0);
+ QVERIFY(info.iCaption.Compare(_L("Contacts")) == 0);
+ QVERIFY(info.iShortCaption.Length()>0);
+
+ const TInt32 invalidUid = 0;
+ entry->SetUid(invalidUid);
+ QCOMPARE(iSrvEngUtils->GetAppInfo(*entry, info), KErrNotFound);
+
+ entry->SetUid(notInstalledUid);
+ QCOMPARE(iSrvEngUtils->GetAppInfo(*entry, info), KErrNotFound);
+
+ delete entry;
+}
+
+void
+T_casrvUtils::testIsNativeL()
+{
+ CCaInnerEntry *entry(0);
+ TRAPD(err,
+ entry = CCaInnerEntry::NewLC();
+ entry->SetEntryTypeNameL(KCaTypeApp);
+ CleanupStack::Pop(entry);
+ );
+ QCOMPARE(err, KErrNone);
+
+
+ entry->SetUid(KSystemApp);
+
+ const TInt32 isNative = iSrvEngUtils->IsNativeL(*entry);
+
+ QVERIFY(isNative != 0);
+
+ delete entry;
+}
+
+QTEST_MAIN(T_casrvUtils)
+
+// END OF FILE