--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mmappfw_plat/mpx_common_api/tsrc/ui_commontestclass/src/testmpxattribute.cpp Thu Dec 17 08:55:47 2009 +0200
@@ -0,0 +1,595 @@
+/*
+* Copyright (c) 2002 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: TMPXAttribute testing implementation
+*
+*/
+
+
+#include <s32mem.h>
+#include "commontestclass.h"
+
+// Begin TMPXAttribute testing implementation (mpxattribute.h)=======================================
+
+// -----------------------------------------------------------------------------
+// CCommonTestClass::MpxAttDefaultConst()
+// Returns: Symbian OS errors.
+// -----------------------------------------------------------------------------
+TInt CCommonTestClass::MpxAttDefaultConst(CStifItemParser& /*aItem*/)
+ {
+ FTRACE(FPrint(_L("CCommonTestClass::MpxAttDefaultConst testing TMPXAttribute::TMPXAttribute() begin")));
+ iLog->Log(_L("CCommonTestClass::MpxAttDefaultConst testing TMPXAttribute::TMPXAttribute() begin"));
+ TInt err=KErrNone;
+ TMPXAttribute att;
+ err = iMPXAttArray.Append(att);
+ return err;
+ }
+
+// -----------------------------------------------------------------------------
+// CCommonTestClass::MpxAttConst()
+// Returns: Symbian OS errors.
+// -----------------------------------------------------------------------------
+TInt CCommonTestClass::MpxAttConst(CStifItemParser& aItem)
+ {
+ FTRACE(FPrint(_L("CCommonTestClass::MpxAttConst testing TMPXAttribute::TMPXAttribute(TInt aContentId, TUint aAttributeId) begin")));
+ iLog->Log(_L("CCommonTestClass::MpxAttConst testing TMPXAttribute::TMPXAttribute(TInt aContentId, TUint aAttributeId) begin"));
+ TInt err=KErrNone;
+ TInt contentId;
+ TUint attId;
+
+ // read in parameters
+ if ( aItem.GetNextInt(contentId) )
+ {
+ iLog->Log(_L("Missing Parameter: content ID."));
+ return KErrBadTestParameter;
+ }
+ if ( aItem.GetNextInt(attId) )
+ {
+ iLog->Log(_L("Missing Parameter: attribute ID."));
+ return KErrBadTestParameter;
+ }
+
+ TMPXAttribute att(contentId, attId);
+ err = iMPXAttArray.Append(att);
+ return err;
+ }
+
+// -----------------------------------------------------------------------------
+// CCommonTestClass::MpxAttCopyConstAtt()
+// Returns: Symbian OS errors.
+// -----------------------------------------------------------------------------
+TInt CCommonTestClass::MpxAttCopyConstAtt(CStifItemParser& aItem)
+ {
+ FTRACE(FPrint(_L("CCommonTestClass::MpxAttCopyConstAtt testing TMPXAttribute::TMPXAttribute(const TMPXAttribute& aId) begin")));
+ iLog->Log(_L("CCommonTestClass::MpxAttCopyConstAtt testing TMPXAttribute::TMPXAttribute(const TMPXAttribute& aId) begin"));
+ TInt err=KErrNone;
+ TInt contentId;
+ TUint attId;
+
+ // read in parameters
+ if ( aItem.GetNextInt(contentId) )
+ {
+ iLog->Log(_L("Missing Parameter: content ID."));
+ return KErrBadTestParameter;
+ }
+ if ( aItem.GetNextInt(attId) )
+ {
+ iLog->Log(_L("Missing Parameter: attribute ID."));
+ return KErrBadTestParameter;
+ }
+
+ TMPXAttribute tempAtt(contentId, attId);
+ TMPXAttribute att(tempAtt);
+ err = iMPXAttArray.Append(att);
+ return err;
+ }
+
+// -----------------------------------------------------------------------------
+// CCommonTestClass::MpxAttCopyConstAttData()
+// Returns: Symbian OS errors.
+// -----------------------------------------------------------------------------
+TInt CCommonTestClass::MpxAttCopyConstAttData(CStifItemParser& aItem)
+ {
+ FTRACE(FPrint(_L("CCommonTestClass::MpxAttCopyConstAttData testing TMPXAttribute::TMPXAttribute(const TMPXAttributeData& aData) begin")));
+ iLog->Log(_L("CCommonTestClass::MpxAttCopyConstAttData testing TMPXAttribute::TMPXAttribute(const TMPXAttributeData& aData) begin"));
+ TInt err=KErrNone;
+ TInt contentId;
+ TUint attId;
+
+ // read in parameters
+ if ( aItem.GetNextInt(contentId) )
+ {
+ iLog->Log(_L("Missing Parameter: content ID."));
+ return KErrBadTestParameter;
+ }
+ if ( aItem.GetNextInt(attId) )
+ {
+ iLog->Log(_L("Missing Parameter: attribute ID."));
+ return KErrBadTestParameter;
+ }
+
+ TMPXAttributeData attData;
+ attData.iContentId = contentId;
+ attData.iAttributeId = attId;
+ TMPXAttribute att(attData);
+ err = iMPXAttArray.Append(att);
+ return err;
+ }
+
+// -----------------------------------------------------------------------------
+// CCommonTestClass::MpxAttOperatorAssignment()
+// Returns: Symbian OS errors.
+// -----------------------------------------------------------------------------
+TInt CCommonTestClass::MpxAttOperatorAssignment(CStifItemParser& aItem)
+ {
+ FTRACE(FPrint(_L("CCommonTestClass::MpxAttOperatorAssignment testing TMPXAttribute::operator=(const TMPXAttribute& aId) begin")));
+ iLog->Log(_L("CCommonTestClass::MpxAttOperatorAssignment testing TMPXAttribute::operator=(const TMPXAttribute& aId) begin"));
+ TInt err=KErrNone;
+ TInt index;
+
+ // read in parameters
+ if ( aItem.GetNextInt(index) )
+ {
+ iLog->Log(_L("Missing Parameter: index."));
+ return KErrBadTestParameter;
+ }
+ if ( index >= iMPXAttArray.Count() )
+ {
+ iLog->Log(_L("Bad Parameter: Index out of range."));
+ return KErrBadTestParameter;
+ }
+
+ TMPXAttribute att;
+ att.operator =(iMPXAttArray[index]);
+ // verify assignment was correct
+ if ( !TMPXAttribute::Match(att, iMPXAttArray[index]) )
+ {
+ iLog->Log(_L("Verification failed."));
+ err = KErrUnexpectedValue;
+ }
+ return err;
+ }
+
+// -----------------------------------------------------------------------------
+// CCommonTestClass::MpxAttOperatorEqual()
+// Returns: Symbian OS errors.
+// -----------------------------------------------------------------------------
+TInt CCommonTestClass::MpxAttOperatorEqual(CStifItemParser& aItem)
+ {
+ FTRACE(FPrint(_L("CCommonTestClass::MpxAttOperatorEqual testing TMPXAttribute::operator==(const TMPXAttribute& aId) begin")));
+ iLog->Log(_L("CCommonTestClass::MpxAttOperatorEqual testing TMPXAttribute::operator==(const TMPXAttribute& aId) begin"));
+ TInt err=KErrNone;
+ TUint op1;
+ TUint op2;
+ TBool expectedResult;
+
+ // read in parameters
+ if ( aItem.GetNextInt(op1) )
+ {
+ iLog->Log(_L("Missing Parameter: operand 1."));
+ return KErrBadTestParameter;
+ }
+ if ( aItem.GetNextInt(op2) )
+ {
+ iLog->Log(_L("Missing Parameter: operand 2."));
+ return KErrBadTestParameter;
+ }
+ if ( aItem.GetNextInt(expectedResult) )
+ {
+ iLog->Log(_L("Missing Parameter: expected result."));
+ return KErrBadTestParameter;
+ }
+ if ( (op1>=iMPXAttArray.Count()) ||
+ (op2>=iMPXAttArray.Count()) )
+ {
+ iLog->Log(_L("Bad Parameter: operand out of range."));
+ return KErrBadTestParameter;
+ }
+
+ TBool result = iMPXAttArray[op1].operator ==(iMPXAttArray[op2]);
+ if ( result != expectedResult )
+ {
+ iLog->Log(_L("Verification failed: result=%d, expected result=%d."), result, expectedResult);
+ err = KErrUnexpectedValue;
+ }
+ return err;
+ }
+
+// -----------------------------------------------------------------------------
+// CCommonTestClass::MpxAttStreamingL()
+// Returns: Symbian OS errors.
+// -----------------------------------------------------------------------------
+TInt CCommonTestClass::MpxAttStreamingL(CStifItemParser& aItem)
+ {
+ FTRACE(FPrint(_L("CCommonTestClass::MpxAttStreamingL testing TMPXAttribute ExternalizeL and InternalizeL begin")));
+ iLog->Log(_L("CCommonTestClass::MpxAttStreamingL testing TMPXAttribute ExternalizeL and InternalizeL begin"));
+ TInt err=KErrNone;
+ TUint index;
+
+ // read in parameters
+ if ( aItem.GetNextInt(index) )
+ {
+ iLog->Log(_L("Missing Parameter: index."));
+ return KErrBadTestParameter;
+ }
+ if ( index >= iMPXAttArray.Count() )
+ {
+ iLog->Log(_L("Bad Parameter: index out of range."));
+ return KErrBadTestParameter;
+ }
+
+ FTRACE(FPrint(_L("CCommonTestClass::MpxAttStreamingL started ExternalizeL")));
+ iLog->Log(_L("CCommonTestClass::MpxAttStreamingL started ExternalizeL"));
+ CBufBase* buffer = CBufFlat::NewL( 50 );
+ CleanupStack::PushL( buffer );
+ RBufWriteStream writeStream( *buffer );
+ CleanupClosePushL( writeStream );
+ iMPXAttArray[index].ExternalizeL( writeStream );
+ writeStream.CommitL();
+ buffer->Compress();
+ CleanupStack::PopAndDestroy( &writeStream );
+
+ FTRACE(FPrint(_L("CCommonTestClass::MpxAttStreamingL started InternalizeL")));
+ iLog->Log(_L("CCommonTestClass::MpxAttStreamingL started InternalizeL"));
+ RBufReadStream readStream( *buffer );
+ CleanupClosePushL( readStream );
+ TMPXAttribute att;
+ att.InternalizeL( readStream );
+ CleanupStack::PopAndDestroy( &readStream );
+ CleanupStack::PopAndDestroy( buffer );
+
+ // verify streaming was correct
+ if ( !TMPXAttribute::Match(att, iMPXAttArray[index]) )
+ {
+ iLog->Log(_L("Streaming Failed Verification."));
+ err = KErrUnexpectedValue;
+ }
+ return err;
+ }
+
+// -----------------------------------------------------------------------------
+// CCommonTestClass::MpxAttContentId()
+// Returns: Symbian OS errors.
+// -----------------------------------------------------------------------------
+TInt CCommonTestClass::MpxAttContentId(CStifItemParser& aItem)
+ {
+ FTRACE(FPrint(_L("CCommonTestClass::MpxAttContentId testing TMPXAttribute::ContentId() begin")));
+ iLog->Log(_L("CCommonTestClass::MpxAttContentId testing TMPXAttribute::ContentId() begin"));
+ TInt err=KErrNone;
+ TUint index;
+ TInt expectedContentId;
+ TInt contentId;
+
+ // read in parameters
+ if ( aItem.GetNextInt(expectedContentId) )
+ {
+ iLog->Log(_L("Missing Parameter: content ID."));
+ return KErrBadTestParameter;
+ }
+ if ( aItem.GetNextInt(index) )
+ {
+ iLog->Log(_L("Missing Parameter: index."));
+ return KErrBadTestParameter;
+ }
+ if ( index >= iMPXAttArray.Count() )
+ {
+ iLog->Log(_L("Bad Parameter: index out of range."));
+ return KErrBadTestParameter;
+ }
+
+ contentId = iMPXAttArray[index].ContentId();
+ // verification
+ if ( contentId != expectedContentId )
+ {
+ iLog->Log(_L("Verification Failed: contentId=%d, expectedContentId=%d."), contentId, expectedContentId);
+ err = KErrUnexpectedValue;
+ }
+ return err;
+ }
+
+// -----------------------------------------------------------------------------
+// CCommonTestClass::MpxAttAttributeId()
+// Returns: Symbian OS errors.
+// -----------------------------------------------------------------------------
+TInt CCommonTestClass::MpxAttAttributeId(CStifItemParser& aItem)
+ {
+ FTRACE(FPrint(_L("CCommonTestClass::MpxAttAttributeId testing TMPXAttribute::AttributeId() begin")));
+ iLog->Log(_L("CCommonTestClass::MpxAttAttributeId testing TMPXAttribute::AttributeId() begin"));
+ TInt err=KErrNone;
+ TUint index;
+ TInt expectedAttId;
+ TInt attId;
+
+ // read in parameters
+ if ( aItem.GetNextInt(expectedAttId) )
+ {
+ iLog->Log(_L("Missing Parameter: attribute ID."));
+ return KErrBadTestParameter;
+ }
+ if ( aItem.GetNextInt(index) )
+ {
+ iLog->Log(_L("Missing Parameter: index."));
+ return KErrBadTestParameter;
+ }
+ if ( index >= iMPXAttArray.Count() )
+ {
+ iLog->Log(_L("Bad Parameter: index out of range."));
+ return KErrBadTestParameter;
+ }
+
+ attId = iMPXAttArray[index].AttributeId();
+ // verification
+ if ( attId != expectedAttId )
+ {
+ iLog->Log(_L("Verification Failed: attId=%d, expectedAttId=%d."), attId, expectedAttId);
+ err = KErrUnexpectedValue;
+ }
+ return err;
+ }
+
+// -----------------------------------------------------------------------------
+// CCommonTestClass::MpxAttMatch()
+// Returns: Symbian OS errors.
+// -----------------------------------------------------------------------------
+TInt CCommonTestClass::MpxAttMatch(CStifItemParser& aItem)
+ {
+ FTRACE(FPrint(_L("CCommonTestClass::MpxAttMatch testing TMPXAttribute::Match() begin")));
+ iLog->Log(_L("CCommonTestClass::MpxAttMatch testing TMPXAttribute::Match() begin"));
+ TInt err=KErrNone;
+ TUint index1;
+ TUint index2;
+ TBool expectedResult;
+ TBool result;
+
+ // read in parameters
+ if ( aItem.GetNextInt(index1) )
+ {
+ iLog->Log(_L("Missing Parameter: index 1."));
+ return KErrBadTestParameter;
+ }
+ if ( index1 >= iMPXAttArray.Count() )
+ {
+ iLog->Log(_L("Bad Parameter: index 1 out of range."));
+ return KErrBadTestParameter;
+ }
+ if ( aItem.GetNextInt(index2) )
+ {
+ iLog->Log(_L("Missing Parameter: index 2."));
+ return KErrBadTestParameter;
+ }
+ if ( index2 >= iMPXAttArray.Count() )
+ {
+ iLog->Log(_L("Bad Parameter: index 2 out of range."));
+ return KErrBadTestParameter;
+ }
+ if ( aItem.GetNextInt(expectedResult) )
+ {
+ iLog->Log(_L("Missing Parameter: expected result."));
+ return KErrBadTestParameter;
+ }
+
+ result = TMPXAttribute::Match(iMPXAttArray[index1], iMPXAttArray[index2]);
+ // verification
+ if ( result != expectedResult )
+ {
+ iLog->Log(_L("Verification Failed: result=%d, expectedResult=%d."), result, expectedResult);
+ err = KErrUnexpectedValue;
+ }
+ return err;
+ }
+
+// -----------------------------------------------------------------------------
+// CCommonTestClass::MpxAttMatchContentId()
+// Returns: Symbian OS errors.
+// -----------------------------------------------------------------------------
+TInt CCommonTestClass::MpxAttMatchContentId(CStifItemParser& aItem)
+ {
+ FTRACE(FPrint(_L("CCommonTestClass::MpxAttMatchContentId testing TMPXAttribute::MatchContentId() begin")));
+ iLog->Log(_L("CCommonTestClass::MpxAttMatchContentId testing TMPXAttribute::MatchContentId() begin"));
+ TInt err=KErrNone;
+ TUint index1;
+ TUint index2;
+ TBool expectedResult;
+ TBool result;
+
+ // read in parameters
+ if ( aItem.GetNextInt(index1) )
+ {
+ iLog->Log(_L("Missing Parameter: index 1."));
+ return KErrBadTestParameter;
+ }
+ if ( index1 >= iMPXAttArray.Count() )
+ {
+ iLog->Log(_L("Bad Parameter: index 1 out of range."));
+ return KErrBadTestParameter;
+ }
+ if ( aItem.GetNextInt(index2) )
+ {
+ iLog->Log(_L("Missing Parameter: index 2."));
+ return KErrBadTestParameter;
+ }
+ if ( index2 >= iMPXAttArray.Count() )
+ {
+ iLog->Log(_L("Bad Parameter: index 2 out of range."));
+ return KErrBadTestParameter;
+ }
+ if ( aItem.GetNextInt(expectedResult) )
+ {
+ iLog->Log(_L("Missing Parameter: expected result."));
+ return KErrBadTestParameter;
+ }
+
+ result = TMPXAttribute::MatchContentId(iMPXAttArray[index1], iMPXAttArray[index2]);
+ // verification
+ if ( result != expectedResult )
+ {
+ iLog->Log(_L("Verification Failed: result=%d, expectedResult=%d."), result, expectedResult);
+ err = KErrUnexpectedValue;
+ }
+ return err;
+ }
+
+// -----------------------------------------------------------------------------
+// CCommonTestClass::MpxAttOperatorAndAttData()
+// Returns: Symbian OS errors.
+// -----------------------------------------------------------------------------
+TInt CCommonTestClass::MpxAttOperatorAndAttData(CStifItemParser& aItem)
+ {
+ FTRACE(FPrint(_L("CCommonTestClass::MpxAttOperatorAndAttData testing TMPXAttribute::operator& (const TMPXAttributeData& aData) begin")));
+ iLog->Log(_L("CCommonTestClass::MpxAttOperatorAndAttData testing TMPXAttribute::operator& (const TMPXAttributeData& aData) begin"));
+ TInt err=KErrNone;
+ TUint index1;
+ TUint index2;
+ TBool expectedResult;
+ TBool result;
+
+ // read in parameters
+ if ( aItem.GetNextInt(index1) )
+ {
+ iLog->Log(_L("Missing Parameter: index 1."));
+ return KErrBadTestParameter;
+ }
+ if ( index1 >= iMPXAttArray.Count() )
+ {
+ iLog->Log(_L("Bad Parameter: index 1 out of range."));
+ return KErrBadTestParameter;
+ }
+ if ( aItem.GetNextInt(index2) )
+ {
+ iLog->Log(_L("Missing Parameter: index 2."));
+ return KErrBadTestParameter;
+ }
+ if ( index2 >= iMPXAttArray.Count() )
+ {
+ iLog->Log(_L("Bad Parameter: index 2 out of range."));
+ return KErrBadTestParameter;
+ }
+ if ( aItem.GetNextInt(expectedResult) )
+ {
+ iLog->Log(_L("Missing Parameter: expected result."));
+ return KErrBadTestParameter;
+ }
+
+ TMPXAttributeData data1 = {iMPXAttArray[index1].ContentId(), iMPXAttArray[index1].AttributeId()};
+ TMPXAttributeData data2 = {iMPXAttArray[index2].ContentId(), iMPXAttArray[index2].AttributeId()};
+ result = data1 & data2;
+ // verification
+ if ( result != expectedResult )
+ {
+ iLog->Log(_L("Verification Failed: result=%d, expectedResult=%d."), result, expectedResult);
+ err = KErrUnexpectedValue;
+ }
+ return err;
+ }
+
+// -----------------------------------------------------------------------------
+// CCommonTestClass::MpxAttOperatorAndData()
+// Returns: Symbian OS errors.
+// -----------------------------------------------------------------------------
+TInt CCommonTestClass::MpxAttOperatorAndData(CStifItemParser& aItem)
+ {
+ FTRACE(FPrint(_L("CCommonTestClass::MpxAttOperatorAndData testing TMPXAttribute::operator& (TUint& aData) begin")));
+ iLog->Log(_L("CCommonTestClass::MpxAttOperatorAndData testing TMPXAttribute::operator& (TUint& aData) begin"));
+ TInt err=KErrNone;
+ TUint index1;
+ TUint att;
+ TBool expectedResult;
+ TBool result;
+
+ // read in parameters
+ if ( aItem.GetNextInt(index1) )
+ {
+ iLog->Log(_L("Missing Parameter: index 1."));
+ return KErrBadTestParameter;
+ }
+ if ( index1 >= iMPXAttArray.Count() )
+ {
+ iLog->Log(_L("Bad Parameter: index 1 out of range."));
+ return KErrBadTestParameter;
+ }
+ if ( aItem.GetNextInt(att) )
+ {
+ iLog->Log(_L("Missing Parameter: attribute."));
+ return KErrBadTestParameter;
+ }
+ if ( aItem.GetNextInt(expectedResult) )
+ {
+ iLog->Log(_L("Missing Parameter: expected result."));
+ return KErrBadTestParameter;
+ }
+
+ TMPXAttributeData data1 = {iMPXAttArray[index1].ContentId(), iMPXAttArray[index1].AttributeId()};
+ result = data1 & att;
+ // verification
+ if ( result != expectedResult )
+ {
+ iLog->Log(_L("Verification Failed: result=%d, expectedResult=%d."), result, expectedResult);
+ err = KErrUnexpectedValue;
+ }
+ return err;
+ }
+
+// -----------------------------------------------------------------------------
+// CCommonTestClass::MpxAttOperatorOr()
+// Returns: Symbian OS errors.
+// -----------------------------------------------------------------------------
+TInt CCommonTestClass::MpxAttOperatorOr(CStifItemParser& aItem)
+ {
+ FTRACE(FPrint(_L("CCommonTestClass::MpxAttOperatorOr testing TMPXAttribute::operator| () begin")));
+ iLog->Log(_L("CCommonTestClass::MpxAttOperatorOr testing TMPXAttribute::operator| () begin"));
+ TInt err=KErrNone;
+ TUint index1;
+ TUint index2;
+ TUint expectedAtt;
+ TMPXAttributeData result;
+
+ // read in parameters
+ if ( aItem.GetNextInt(index1) )
+ {
+ iLog->Log(_L("Missing Parameter: index 1."));
+ return KErrBadTestParameter;
+ }
+ if ( index1 >= iMPXAttArray.Count() )
+ {
+ iLog->Log(_L("Bad Parameter: index 1 out of range."));
+ return KErrBadTestParameter;
+ }
+ if ( aItem.GetNextInt(index2) )
+ {
+ iLog->Log(_L("Missing Parameter: index 2."));
+ return KErrBadTestParameter;
+ }
+ if ( index2 >= iMPXAttArray.Count() )
+ {
+ iLog->Log(_L("Bad Parameter: index 2 out of range."));
+ return KErrBadTestParameter;
+ }
+ if ( aItem.GetNextInt(expectedAtt) )
+ {
+ iLog->Log(_L("Missing Parameter: expected result."));
+ return KErrBadTestParameter;
+ }
+
+ TMPXAttributeData data1 = {iMPXAttArray[index1].ContentId(), iMPXAttArray[index1].AttributeId()};
+ TMPXAttributeData data2 = {iMPXAttArray[index2].ContentId(), iMPXAttArray[index2].AttributeId()};
+ result = data1 | data2;
+ // verification
+ if ( result.iAttributeId != expectedAtt )
+ {
+ iLog->Log(_L("Verification Failed: att=%d, expectedAtt=%d."), result.iAttributeId, expectedAtt);
+ err = KErrUnexpectedValue;
+ }
+ return err;
+ }
+
+// end of TMPXAttribute (mpxattribute.h =============================================