diff -r 000000000000 -r b16258d2340f applayerprotocols/httptransportfw/Test/t_httpmessage/ctestengine.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/applayerprotocols/httptransportfw/Test/t_httpmessage/ctestengine.h Tue Feb 02 01:09:52 2010 +0200 @@ -0,0 +1,142 @@ +// Copyright (c) 2002-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: +// + +#ifndef __CTESTENGINE_H__ +#define __CTESTENGINE_H__ + +#include + +#include "httptestutils.h" +#include "mdriverobserver.h" + +/** @class CTestEngine + @todo + @since 8.0 +*/ +class CTestEngine : public CBase, + public MDriverObserver + { +public: // methods + +/** @fn NewL() + Factory constructor. + @since 8.0 + @return A pointer to a fully initialised object. +*/ + static CTestEngine* NewL(); + +/** @fn ~CTestEngine + Destructor. + @since 8.0 +*/ + virtual ~CTestEngine(); + +/** @fn DoTestsL() + Starts the test run. + @since 8.0 +*/ + void DoTestsL(); + virtual void Log(const TDesC& aComment); + +private: // methods from MDriverObserver + + virtual void NotifyError(TInt aError); + virtual void NotifyStart(); + virtual void NotifyComplete(); + virtual void Dump(const TDesC8& aData); + +private: // typedefs + +/** @typedef TTestFunctionL + A typedef defining a pointer to a test function. + @since 8.0 +*/ + typedef void (CTestEngine::*TTestFunctionL) (); + +private: // methods + +/** @fn CTestEngine() + Constructor. + @since 8.0 +*/ + CTestEngine(); + +/** @fn ConstructL() + Second phase constructor. + @since 8.0 +*/ + void ConstructL(); + +/** @fn DoOOMTest(TTestFunctionL aDoTestFunctionL) + Does OOM testing on the test case specified. Will continue to re-start the + specified test case until either the test case function does not leave and + the test passes. If a test case does not pass under standard conditions, + then OOM testing of that test case should not be done. + @since 8.0 + @param aDoTestFunctionL The function of the test case to be run. +*/ + void DoOOMTest(TTestFunctionL aDoTestFunctionL); + + void DoParseRawBadResponseTest1L(); + void DoParseRawBadResponseTest2L(); + void DoParseRawBadResponseTest3L(); + void DoParseRawBadResponseTest4L(); + void DoParseRawBadResponseTest5L(); + void DoParseRawBadResponseTest6L(); + void DoParseRawBadResponseTest7L(); + void DoParseRawBadResponseTest8L(); + void DoParseRawBadResponseTest9L(); + + void DoParseSimpleMessageL(); + void DoParseNoEntityBodyL(); + void DoParseNonEncodedBodyL(); + void DoParseChunkEncodedBodyL(); + void DoParseChunkEncodedBodyWithTrailersL(); + void DoParseBadLineL(); + void DoParseBadEmptyLineL(); + void DoParseBadHeaderContinuationL(); + void DoParseBadChunkExtensionL(); + void DoParseBadChunkDataL(); + void DoParseBadChunkSizeL(); + void DoParseMissingCRsL(); + void DoParseSpuriousCRsL(); + void DoParseLongHeaderL(); + void DoParseLeadingEmptyLineL(); + void DoParseNonChunkedResetL(); + void DoParseChunkedResetL(); + void DoParseChunkDataContainingOnlyCRsL(); + + void DoComposeSimpleMessageL(); + void DoComposeNoEntityBodyL(); + void DoComposeNonEncodedBodyL(); + void DoComposeChunkEncodedBodyL(); + void DoComposeChunkEncodedBodyWithTrailersL(); + void DoComposeTooMuchEntityBodyDataL(); + void DoComposeTooLittleEntityBodyDataL(); + void DoComposeLongHeaderL(); + void DoComposeNonEncodedBodyResetL(); + void DoComposeChunkEncodedBodyWithTrailersResetL(); + +private: // attributes + + CHTTPTestUtils* iTestUtils; + TInt iTestCount; + TBool iTestFailed; + TBool iOOMTesting; + TBool iUseUnknownBodyLength; + + }; + +#endif // __CTESTENGINE_H__