applayerpluginsandutils/bookmarksupport/test/testutils.h
changeset 0 b16258d2340f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/applayerpluginsandutils/bookmarksupport/test/testutils.h	Tue Feb 02 01:09:52 2010 +0200
@@ -0,0 +1,69 @@
+// Copyright (c) 2005-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:
+// A few utils for assisting testing
+// @internalComponent
+// 
+//
+
+#ifndef __TESTUTILS_H__
+#define __TESTUTILS_H__
+
+#include <e32test.h>
+
+#define TEST(arg) Test((arg), __LINE__)
+#define TESTE(arg, error) Test((arg), (error), __LINE__)
+
+const TInt KTestTitleLength = 128;
+/**
+CTestWrapper is a simple testing class that wraps RTest.
+The problem with RTest is that it panics on the first failure. All CTestWrapper does is
+note failed tests and summerise failures at the end.
+@internalComponent
+*/
+class CTestWrapper: public CBase
+	{
+private:
+	class TFailedTest
+		{
+	public:
+		TUint iTestNumber;
+		TUint iCheckNumber;
+		};
+public:
+	static CTestWrapper* NewLC(RTest& aTester);
+	~CTestWrapper();
+
+	void Start(const TDesC &aHeading);
+	void Next(const TDesC &aHeading);
+	void End();
+	void Test(TInt aResult, TInt aLineNum);
+	void Test(TInt aResult, TInt aError, TInt aLineNum);
+
+	void SetFile(const TDesC& aFilename);
+
+	RTest& Tester();
+
+private:
+	CTestWrapper(RTest& aTester);
+
+private:
+	TUint 				iTestCount;
+	TUint 				iCheckCount;
+	TUint 				iTotalCount;
+	RTest&				iTester;
+	RArray<TFailedTest> iFailedTests;
+	TFileName			iFilename;
+	};
+
+#endif //__TESTUTILS_H__