textandlocutils/jplangutil/test/tsrc/tjplangutil.cpp
author hgs
Thu, 24 Jun 2010 11:18:23 +0800
changeset 40 91ef7621b7fc
permissions -rw-r--r--
201019_08
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
40
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
     1
/*
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
     3
* All rights reserved.
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
     8
*
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
     9
* Initial Contributors:
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    11
*
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    12
* Contributors:
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    13
*
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    14
* Description: 
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    15
*
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    16
*/
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    17
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    18
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    19
#include <e32std.h>
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    20
#include <e32base.h>
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    21
#include <e32test.h>
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    22
#include <jplangutil.h>
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    23
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    24
///////////////////////////////////////////////////////////////////////////////////////
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    25
RTest TheTest(_L("TestJPLangUtil"));
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    26
	
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    27
///////////////////////////////////////////////////////////////////////////////////////
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    28
///////////////////////////////////////////////////////////////////////////////////////
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    29
//Tests macroses and functions.
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    30
//If (!aValue) then the test will be panicked, the test data files will be deleted.
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    31
static void Check(TInt aValue, TInt aLine)
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    32
	{
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    33
	if(!aValue)
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    34
		{
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    35
		TheTest(EFalse, aLine);
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    36
		}
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    37
	}
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    38
//If (aValue != aExpected) then the test will be panicked, the test data files will be deleted.
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    39
static void Check(TInt aValue, TInt aExpected, TInt aLine)
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    40
	{
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    41
	if(aValue != aExpected)
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    42
		{
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    43
		RDebug::Print(_L("*** Expected error: %d, got: %d\r\n"), aExpected, aValue);
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    44
		TheTest(EFalse, aLine);
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    45
		}
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    46
	}
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    47
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    48
//Use these to test conditions.
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    49
#define TEST(arg) ::Check((arg), __LINE__)
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    50
#define TEST2(aValue, aExpected) ::Check(aValue, aExpected, __LINE__)
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    51
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    52
const TInt KDesLength = 24;
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    53
_LIT( KText, "Text" );
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    54
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    55
LOCAL_C void TestJLUConvertHalfToFullWidth()
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    56
    {
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    57
    TBuf<KDesLength> unisrc( KText );
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    58
    TBuf<KDesLength> unides; 
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    59
    TInt status = JPLangUtil::ConvertHalfToFullWidth( unisrc, unides );
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    60
    TEST(status == 4);
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    61
    }
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    62
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    63
LOCAL_C void TestJLUConvertFullToHalfWidth()
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    64
    {
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    65
    TBuf<KDesLength> unisrc( KText );
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    66
    TBuf<KDesLength> unides; 
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    67
    TInt status = JPLangUtil::ConvertFullToHalfWidth( unisrc, unides );
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    68
    TEST(status == 0);
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    69
    }
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    70
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    71
LOCAL_C void DoE32MainL()
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    72
	{
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    73
	TheTest.Start(_L("TestJPLangUtil:\n"));
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    74
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    75
	TestJLUConvertHalfToFullWidth();
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    76
	TestJLUConvertFullToHalfWidth();
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    77
    }
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    78
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    79
//  Global Functions
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    80
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    81
GLDEF_C TInt E32Main()
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    82
	{
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    83
	__UHEAP_MARK;
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    84
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    85
	TheTest.Title();
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    86
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    87
	CTrapCleanup* trapCleanup=CTrapCleanup::New();
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    88
	TEST(trapCleanup != NULL);
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    89
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    90
	TRAPD(error, DoE32MainL());
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    91
	TEST2(error, KErrNone);
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    92
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    93
	delete trapCleanup;
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    94
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    95
	TheTest.End();
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    96
	TheTest.Close();
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    97
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    98
	__UHEAP_MARKEND;
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
    99
	return KErrNone;
91ef7621b7fc 201019_08
hgs
parents:
diff changeset
   100
	}