1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/security/crypto/weakcrypto/test/tpadding/tpaddingNone.cpp Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,118 @@
1.4 +/*
1.5 +* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
1.6 +* All rights reserved.
1.7 +* This component and the accompanying materials are made available
1.8 +* under the terms of the License "Eclipse Public License v1.0"
1.9 +* which accompanies this distribution, and is available
1.10 +* at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.11 +*
1.12 +* Initial Contributors:
1.13 +* Nokia Corporation - initial contribution.
1.14 +*
1.15 +* Contributors:
1.16 +*
1.17 +* Description:
1.18 +*
1.19 +*/
1.20 +
1.21 +
1.22 +#include <padding.h>
1.23 +#include "tpaddingNone.h"
1.24 +
1.25 +CTestPadNone::CTestPadNone()
1.26 +{
1.27 + SetTestStepName(KPadNone);
1.28 +}
1.29 +
1.30 +CTestPadNone::~CTestPadNone()
1.31 +{
1.32 +}
1.33 +
1.34 +TVerdict CTestPadNone::doTestStepL()
1.35 +{
1.36 + SetTestStepResult(EPass);
1.37 + __UHEAP_MARK;
1.38 +
1.39 + INFO_PRINTF1(_L("Test of padding with type None"));
1.40 +
1.41 + TInt blockSize = 0;
1.42 + if (GetIntFromConfig(ConfigSection(), _L("blocksize"), blockSize))
1.43 + {
1.44 + ERR_PRINTF1(_L("Missing parameter - blockSize"));
1.45 + }
1.46 +
1.47 + // Block size is arbitrary as no padding actually occurs
1.48 + CPaddingNone *padding = CPaddingNone::NewLC(blockSize);
1.49 + for (TInt i = 1 ; i < blockSize; i++)
1.50 + {
1.51 + HBufC8 *padInData = HBufC8::NewLC(i);
1.52 + HBufC8 *padOutData = HBufC8::NewLC(i);
1.53 + TPtr8 in(padInData->Des());
1.54 + TPtr8 out(padOutData->Des());
1.55 + for (TInt j = 0; j < i; j++)
1.56 + {
1.57 + in.Append(_L8("a"));
1.58 + }
1.59 +
1.60 + // Perform the padding
1.61 + TRAPD(err, padding->DoPadL(in, out));
1.62 + TEST(err == KErrNone);
1.63 +
1.64 + // As no padding actually occurs, the in string should equal the out string
1.65 + TEST(in == out);
1.66 + CleanupStack::PopAndDestroy(2, padInData); // padInData, padOutData
1.67 + }
1.68 +
1.69 + CleanupStack::PopAndDestroy(); // padding
1.70 + __UHEAP_MARKEND;
1.71 + return TestStepResult();
1.72 +}
1.73 +
1.74 +CTestUnpadNone::CTestUnpadNone()
1.75 +{
1.76 + SetTestStepName(KUnpadNone);
1.77 +}
1.78 +
1.79 +CTestUnpadNone::~CTestUnpadNone()
1.80 +{
1.81 +}
1.82 +
1.83 +TVerdict CTestUnpadNone::doTestStepL()
1.84 +{
1.85 + SetTestStepResult(EPass);
1.86 + __UHEAP_MARK;
1.87 +
1.88 + INFO_PRINTF1(_L("Test of unpadding with type None"));
1.89 +
1.90 + TInt blockSize = 0;
1.91 + if (GetIntFromConfig(ConfigSection(), _L("blocksize"), blockSize))
1.92 + {
1.93 + ERR_PRINTF1(_L("Missing parameter - blockSize"));
1.94 + }
1.95 +
1.96 + // Block size is arbitrary as no padding actually occurs
1.97 + CPaddingNone *padding = CPaddingNone::NewLC(blockSize);
1.98 + for (TInt i = 1 ; i < blockSize; i++)
1.99 + {
1.100 + HBufC8 *padInData = HBufC8::NewLC(i);
1.101 + HBufC8 *padOutData = HBufC8::NewLC(i);
1.102 + TPtr8 in(padInData->Des());
1.103 + TPtr8 out(padOutData->Des());
1.104 + for (TInt j = 0; j < i; j++)
1.105 + {
1.106 + in.Append(_L8("a"));
1.107 + }
1.108 +
1.109 + // Perform the unpadding
1.110 + TRAPD(err, padding->UnPadL(in, out));
1.111 + TEST(err == KErrNone);
1.112 +
1.113 + // As no unpadding actually occurs, the in string should equal the out string
1.114 + TEST(in == out);
1.115 + CleanupStack::PopAndDestroy(2, padInData); // padInData, padOutData
1.116 + }
1.117 + CleanupStack::PopAndDestroy(); // padding
1.118 + __UHEAP_MARKEND;
1.119 + return TestStepResult();
1.120 +}
1.121 +