featuremgmt/featuremgr/test/rtest/src/t_fmgrapi.cpp
branchRCL_3
changeset 23 26645d81f48d
parent 10 31a8f755b7fe
child 24 cc28652e0254
--- a/featuremgmt/featuremgr/test/rtest/src/t_fmgrapi.cpp	Thu Aug 19 11:36:21 2010 +0300
+++ b/featuremgmt/featuremgr/test/rtest/src/t_fmgrapi.cpp	Tue Aug 31 16:57:14 2010 +0300
@@ -28,6 +28,8 @@
 ///////////////////////////////////////////////////////////////////////////////////////
 
 static RTest TheTest(_L("t_fmgrapi"));
+TUid SupportedFeature   = KConnectivity;  //Defaulted to KConnectivity, but we will re-assign it in FeatureTestPreparation().
+TUid SupportedFeature2  = KSip;          //Defaulted to KSip, but we will re-assign it in FeatureTestPreparation().
 
 ///////////////////////////////////////////////////////////////////////////////////////
 
@@ -284,24 +286,24 @@
     {
     TBool rc = CFeatureDiscovery::IsFeatureSupportedL(KInvalidFeatureId1);
     TEST(!rc);
-    rc = CFeatureDiscovery::IsFeatureSupportedL(KLocationManagement.iUid);
+    rc = CFeatureDiscovery::IsFeatureSupportedL(SupportedFeature.iUid);
     TEST(rc);
     
     rc = CFeatureDiscovery::IsFeatureSupportedL(KInvalidFeatureUid1);
     TEST(!rc);
-    rc = CFeatureDiscovery::IsFeatureSupportedL(KLocationManagement);
+    rc = CFeatureDiscovery::IsFeatureSupportedL(SupportedFeature);
     TEST(rc);
 
     CFeatureDiscovery* fdiscovery = CFeatureDiscovery::NewLC();
     
     rc = fdiscovery->IsSupported(KInvalidFeatureId1);
     TEST(!rc);
-    rc = fdiscovery->IsSupported(KLocationManagement.iUid);
+    rc = fdiscovery->IsSupported(SupportedFeature.iUid);
     TEST(rc);
 
     rc = fdiscovery->IsSupported(KInvalidFeatureUid1);
     TEST(!rc);
-    rc = fdiscovery->IsSupported(KLocationManagement);
+    rc = fdiscovery->IsSupported(SupportedFeature);
     TEST(rc);
     
     CleanupStack::PopAndDestroy(fdiscovery);
@@ -317,11 +319,11 @@
     //////////////////////////////////////////////////////////
     //A test with a set: one valid and one invalid feature 
     TFeatureSet fset;
-    TInt err = fset.Append(KConnectivity);
+    TInt err = fset.Append(SupportedFeature);
     TEST2(err, KErrNone);
     err = fset.Append(KInvalidFeatureUid1);
     TEST2(err, KErrNone);
-    TBool rc = fset.IsFeatureSupported(KConnectivity);
+    TBool rc = fset.IsFeatureSupported(SupportedFeature);
     TEST(!rc);
     rc = fset.IsFeatureSupported(KInvalidFeatureUid1);
     TEST(!rc);
@@ -334,7 +336,7 @@
         err = fdiscovery->FeaturesSupported(fset);
         }
     TEST2(err, KErrNone);
-    rc = fset.IsFeatureSupported(KConnectivity);
+    rc = fset.IsFeatureSupported(SupportedFeature);
     TEST(rc);
     rc = fset.IsFeatureSupported(KInvalidFeatureUid1);
     TEST(!rc);
@@ -343,7 +345,7 @@
     //////////////////////////////////////////////////////////
     //A test with an empty set 
     TFeatureSet fset2;
-    rc = fset2.IsFeatureSupported(KConnectivity);
+    rc = fset2.IsFeatureSupported(SupportedFeature);
     TEST(!rc);
     rc = fset2.IsFeatureSupported(KInvalidFeatureUid1);
     TEST(!rc);
@@ -356,7 +358,7 @@
         err = fdiscovery->FeaturesSupported(fset2);
         }
     TEST2(err, KErrArgument);
-    rc = fset2.IsFeatureSupported(KConnectivity);
+    rc = fset2.IsFeatureSupported(SupportedFeature);
     TEST(!rc);
     rc = fset2.IsFeatureSupported(KInvalidFeatureUid1);
     TEST(!rc);
@@ -365,9 +367,9 @@
     //////////////////////////////////////////////////////////
     //A test with a set: two valid features 
     TFeatureSet fset3;
-    err = fset3.Append(KConnectivity);
+    err = fset3.Append(SupportedFeature);
     TEST2(err, KErrNone);
-    err = fset3.Append(KSip);
+    err = fset3.Append(SupportedFeature2);
     TEST2(err, KErrNone);
     if(aStaticMethodsUsed)
         {
@@ -378,9 +380,9 @@
         err = fdiscovery->FeaturesSupported(fset3);
         }
     TEST2(err, KErrNone);
-    rc = fset3.IsFeatureSupported(KConnectivity);
+    rc = fset3.IsFeatureSupported(SupportedFeature);
     TEST(rc);
-    rc = fset3.IsFeatureSupported(KSip);
+    rc = fset3.IsFeatureSupported(SupportedFeature2);
     TEST(rc);
     rc = fset3.AreAllFeaturesSupported();
     TEST(rc);
@@ -402,8 +404,31 @@
     DoFeatureDiscoveryTest2L(EFalse);
     }
 
+void FeatureTestPreparation()
+    {
+    RFeatureControl ctrl;
+    TInt err = ctrl.Open();
+    TEST2(err, KErrNone);
+    /////////////////////////////////////////////////////////////
+    RFeatureUidArray farray;
+    TheTest.Printf(_L("Getting supported feature for CFeatureDiscovery test\r\n"));
+    err = ctrl.ListSupportedFeatures(farray);
+    if (err == KErrNone && farray.Count() > 1)
+        {
+        SupportedFeature = farray[0]; //Take the first supported value
+        SupportedFeature2 = farray[1]; //Take the first supported value
+        }
+    else
+        {
+        TheTest.Printf(_L("Warning: Failed to get supported feature for testing. CFeatureDiscovery tests are going to fail\r\n"));
+        }
+    farray.Close();
+    ctrl.Close();
+    }
+
 void DoTestsL()
     {
+    FeatureTestPreparation(); //Preparation for the test.
     TheTest.Start(_L("@SYMTestCaseID:PDS-EFM-CT-4059 FeatureManager::FeatureSupported() test"));
     FeatureSupportedTestL();
     TheTest.Next(_L("@SYMTestCaseID:PDS-EFM-CT-4060 RFeatureControl tests-1"));