installationservices/swinstallationfw/test/tusif/source/tsifcommonunitteststep.cpp
--- a/installationservices/swinstallationfw/test/tusif/source/tsifcommonunitteststep.cpp Tue Jul 06 14:23:31 2010 +0300
+++ b/installationservices/swinstallationfw/test/tusif/source/tsifcommonunitteststep.cpp Wed Aug 18 09:55:45 2010 +0300
@@ -26,6 +26,7 @@
#include <usif/sif/sifcommon.h>
#include <ct/rcpointerarray.h>
#include <scs/cleanuputils.h>
+#include <s32mem.h>
using namespace Usif;
@@ -71,8 +72,8 @@
INFO_PRINTF1(_L("I am in CSifCommonUnitTestStep::doTestStep()."));
SetTestStepResult(EFail);
+ TestComponentInfoL();
- TestComponentInfoL();
TestOpaqueNamedParamsL();
SetTestStepResult(EPass);
@@ -544,4 +545,94 @@
}
CleanupStack::PopAndDestroy(3, &stringArray);
+
+ //Externalize, internalize tests.
+ COpaqueNamedParams* params5 = COpaqueNamedParams::NewLC();
+ HBufC* testString = _L("TestString").AllocLC();
+
+ params5->AddStringL(_L("key1"), *testString);
+ params5->AddIntL(_L("key2"), 23);
+
+ RArray<TInt> intArray2;
+ CleanupClosePushL(intArray2);
+ intArray2.AppendL(100);
+ intArray2.AppendL(200);
+
+ RPointerArray<HBufC> stringArray2;
+ CleanupResetAndDestroyPushL(stringArray2);
+ const HBufC16* testString1 = _L("TestString1").AllocLC();
+
+
+ TInt err1 = stringArray2.Append(testString1);
+ if (err1 != KErrNone)
+ {
+ CleanupStack::PopAndDestroy();
+ }
+ else
+ {
+ CleanupStack::Pop();
+ }
+
+ const HBufC16* testString2 = _L("TestString2").AllocLC();
+ TInt err2 = stringArray2.Append(testString2);
+ if (err2 != KErrNone)
+ {
+ CleanupStack::PopAndDestroy();
+ }
+ else
+ {
+ CleanupStack::Pop();
+ }
+ params5->AddStringArrayL(_L("key3"), stringArray2);
+ params5->AddIntArrayL(_L("key4"), intArray2);
+
+ CBufFlat* externalizedBuffer = CBufFlat::NewL(150);
+ CleanupStack::PushL(externalizedBuffer);
+
+ RBufWriteStream writeStream(*externalizedBuffer);
+ CleanupClosePushL(writeStream);
+
+ params5->ExternalizeL(writeStream);
+
+ COpaqueNamedParams* params6 = COpaqueNamedParams::NewLC();
+
+ RBufReadStream readStream(*externalizedBuffer);
+ CleanupClosePushL(readStream);
+ params6->InternalizeL(readStream);
+
+ if(params6->IntByNameL(_L("key2"))!= 23 || (params6->StringByNameL(_L("key1")) != _L("TestString")))
+ {
+ INFO_PRINTF1(_L("TestOpaqueNamedParamsL: Internalize of int and string failed."));
+ User::Leave(err);
+ }
+
+ const RArray<TInt>& internalizedIntArray = params6->IntArrayByNameL(_L("key4"));
+
+ if(internalizedIntArray[0] != 100 && internalizedIntArray[1] != 200)
+ {
+ INFO_PRINTF1(_L("TestOpaqueNamedParamsL: Internalize of int array failed."));
+ User::Leave(err);
+ }
+
+ const RPointerArray<HBufC>& internalizedStringArray = params6->StringArrayByNameL(_L("key3"));
+
+ if (err1 == KErrNone)
+ {
+ if(*internalizedStringArray[0] != _L("TestString1") && *internalizedStringArray[1] != _L("TestString2"))
+ {
+ INFO_PRINTF1(_L("TestOpaqueNamedParamsL: Internalize of string array failed."));
+ User::Leave(err);
+ }
+ }
+ else if (err2 == KErrNone)
+ {
+ if(*internalizedStringArray[0] != _L("TestString2"))
+ {
+ INFO_PRINTF1(_L("TestOpaqueNamedParamsL: Internalize of string array failed."));
+ User::Leave(err);
+ }
+ }
+
+ CleanupStack::PopAndDestroy(8, params5);
+
}