epoc32/include/e32test.h
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
--- a/epoc32/include/e32test.h	Wed Mar 31 12:27:01 2010 +0100
+++ b/epoc32/include/e32test.h	Wed Mar 31 12:33:34 2010 +0100
@@ -1,9 +1,9 @@
 // Copyright (c) 1994-2009 Nokia Corporation and/or its subsidiary(-ies).
 // All rights reserved.
 // This component and the accompanying materials are made available
-// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
+// under the terms of the License "Eclipse Public License v1.0"
 // which accompanies this distribution, and is available
-// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
 //
 // Initial Contributors:
 // Nokia Corporation - initial contribution.
@@ -15,8 +15,6 @@
 // 
 //
 
-
-
 /**
  @file e32test.h
  @publishedAll
@@ -26,11 +24,18 @@
 #ifndef __E32TEST_H__
 #define __E32TEST_H__
 #include <e32std.h>
+#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
+#include <e32std_private.h>
+#include <e32base_private.h>
+#endif
 #include <e32base.h>
 #include <e32cons.h>
-#include <e32ver.h>
 #include <e32kpan.h>
 #include <e32debug.h>
+#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
+#include <e32def_private.h>
+#include <e32event_private.h>
+#endif
 
 
 /**
@@ -66,6 +71,7 @@
 	inline void HandleNull(TInt aLine, const TText* aFileName);
 	inline void HandleNotEqual(TInt aExpected, TInt aActual, TInt aLine, const TText* aFileName);
 	inline void HandleFailedCompare(TInt aLeft, const TText* aComp, TInt aRight, TInt aLine, const TText* aFileName);
+	inline void HandleValue(TInt aValue,  TInt aLine, const TText* aFileName);
 
 	IMPORT_C static TInt CloseHandleAndWaitForDestruction(RHandleBase& aH);	/**< @internalTechnology */
 
@@ -203,48 +209,56 @@
 /**
 @internalComponent
 
-Panics and displays an approprate error message if x is less then zero (Indicating an error code).
+Panics and displays an appropriate error message if x is less then zero (Indicating an error code).
 */
 #define test_NotNegative(x) { TInt _r = (x); if (_r < 0) test.HandleError(_r, __LINE__,__S(__FILE__)); }
 
 /**
 @internalComponent
 
-Panics and displays an approprate error message if x is not equal to KErrNone.
+Panics and displays an appropriate error message if x is not equal to KErrNone.
 */
 #define test_KErrNone(x) { TInt _r = (x); if (_r !=KErrNone) test.HandleError(_r, __LINE__,__S(__FILE__)); }
 
 /**
 @internalComponent
 
-Panics and displays an approprate error message if the trapped statement/block x leaves.
+Panics and displays an appropriate error message if the trapped statement/block x leaves.
 */
-#define test_TRAP(x) { TRAPD(_r, x); if (_r !=KErrNone) test.HandleError(_r, __LINE__,__S(__FILE__)); }
+#define test_TRAP(x) { TRAPD(_r, x); if (_r != KErrNone) test.HandleError(_r, __LINE__,__S(__FILE__)); }
 
 /**
 @internalComponent
 
-Panics and displays an approprate error message if x is not equal to NULL.
+Panics and displays an appropriate error message if x is not equal to NULL.
 */
 #define test_NotNull(x) { TAny* _a = (TAny*)(x); if (_a == NULL) test.HandleNull(__LINE__,__S(__FILE__)); }
 /**
 @internalComponent
 
-Panics and displays an approprate error message if e (expected) is not equal to a (actual).
+Panics and displays an appropriate error message if e (expected) is not equal to a (actual).
 */
 #define test_Equal(e, a) { TInt _e = TInt(e); TInt _a = TInt(a); if (_e != _a) test.HandleNotEqual(_e, _a, __LINE__,__S(__FILE__)); }
 
 /**
 @internalComponent
 
-Panics and displays an approprate error message if the comparison specifed with b, between a and c is EFalse.
+Panics and displays an appropriate error message if the comparison specified with operator b, between a and c, is EFalse.
 */
 #define test_Compare(a,b,c)  {TInt _a = TInt(a); TInt _c = TInt(c); if (!(_a b _c)) test.HandleFailedCompare(_a, __S(#b), _c, __LINE__,__S(__FILE__)); }
-	
+
+
 /**
 @internalComponent
 
-If the expressione e is false, the the statment s is exectude before a Panic is raised.
+Panics and displays an appropriate error message displaying v, if the expression e is false.
+*/
+#define test_Value(v, e) if (!(e)) test.HandleValue(v,  __LINE__,__S(__FILE__));
+
+/**
+@internalComponent
+
+If expression e is false, statement s is executed then a Panic is raised.
 */
 #define test_Assert(e,s) if(!(e)) {s; test.operator()(EFalse, __LINE__,__S(__FILE__)); }
 	
@@ -326,6 +340,22 @@
 
 
 /**
+Prints a failure message indicating that aValue was not an expected value, at the console and raises a panic.
+
+@param aValue The value that is to be printed as not being an expected value.
+@param aLineNum  A line number that is printed in the failure message.
+@param aFileName A file name that is printed in the failure message.
+                 
+@panic USER 84 Always.
+*/
+inline void RTest::HandleValue(TInt aValue,  TInt aLine, const TText* aFileName)
+	{
+	Printf(_L("RTEST: %d (0x%x) was not an expected value.\n"), aValue, aValue);
+	operator()(EFalse, aLine, aFileName);
+	}
+
+
+/**
 @internalTechnology
 */
 _LIT(KLitCloseAndWait,"Close&Wait");
@@ -335,4 +365,7 @@
 */
 #define CLOSE_AND_WAIT(h)	((void)(RTest::CloseHandleAndWaitForDestruction(h) && (User::Panic(KLitCloseAndWait,__LINE__),1)))
 
+
+
 #endif
+