diff -r 000000000000 -r b16258d2340f applayerpluginsandutils/bookmarksupport/test/testutils.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/applayerpluginsandutils/bookmarksupport/test/testutils.cpp Tue Feb 02 01:09:52 2010 +0200 @@ -0,0 +1,115 @@ +/* +* Copyright (c) 2009 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: +* +*/ +#include "testutils.h" + +CTestWrapper* CTestWrapper::NewLC(RTest& aTester) + { + CTestWrapper* self = new (ELeave) CTestWrapper(aTester); + CleanupStack::PushL(self); + return self; + } + +CTestWrapper::CTestWrapper(RTest& aTester) : iTester(aTester) + { + } + +CTestWrapper::~CTestWrapper() + { + iTester.Close(); + } + +void CTestWrapper::Start(const TDesC& aHeading) + { + iTester.Start(aHeading); + iTestCount = 1; + iCheckCount = 0; + iTotalCount = 0; + } + +void CTestWrapper::Next(const TDesC& aHeading) + { + iTester.Next(aHeading); + ++iTestCount; + iCheckCount = 0; + } + +void CTestWrapper::End() + { + TInt failedCount = iFailedTests.Count(); + iTester.Printf(_L("")); + iTester.Printf(_L("*** Summary ***")); + iTester.Printf(_L("Tests run: %d"), iTotalCount); + iTester.Printf(_L("Test failures: %d"), failedCount); + if (failedCount != 0) + { + TInt i = 0; + for (; i < failedCount; ++i) + { + iTester.Printf(_L("Failed level [%d] at check number [%d]\n"), + iFailedTests[i].iTestNumber, iFailedTests[i].iCheckNumber); + } + } + else + { + iTester.End(); // prints success message + } + iFailedTests.Close(); + } + +void CTestWrapper::Test(TInt aResult, TInt aLineNum) + { + // Test a condition. + ++iCheckCount; + ++iTotalCount; + iTester(ETrue); // this just updates the iTester test count so that it is in sync with the wrapper. + if (!aResult) + { + TFailedTest test; + test.iTestNumber = iTestCount; + test.iCheckNumber = iCheckCount; + iTester.Printf(_L("FAIL : Failed level [%d] check [%d] in file [%S] at line number [%d]\n"), iTestCount, iCheckCount, &iFilename, aLineNum); + if (iFailedTests.Append(test) != KErrNone) + iTester.Panic(_L("Checkpoint can't be added to failed list")); + } + } + +void CTestWrapper::Test(TInt aResult, TInt aError, TInt aLineNum) + { + // Test a condition. + ++iCheckCount; + ++iTotalCount; + iTester(ETrue); // this just updates the iTester test count so that it is in sync with the wrapper. + if (!aResult) + { + TFailedTest test; + test.iTestNumber = iTestCount; + test.iCheckNumber = iCheckCount; + iTester.Printf(_L("FAIL : Failed level [%d] check [%d] in file [%S] at line number [%d] with error code [%d]\n"), iTestCount, iCheckCount, &iFilename, aLineNum, aError); + if (iFailedTests.Append(test) != KErrNone) + iTester.Panic(_L("Checkpoint can't be added to failed list")); + } + } + +void CTestWrapper::SetFile(const TDesC& aFilename) + { + iFilename = aFilename; + } + +RTest& CTestWrapper::Tester() + { + return iTester; + }