--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestptieng/src/bctestlan.cpp Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,183 @@
+/*
+* Copyright (c) 2006 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: test case
+*
+*/
+
+
+#include <w32std.h>
+#include <coecntrl.h>
+#include <eikenv.h>
+#include <ptilanguage.h>
+#include <ptidefs.h>
+
+#include "BCTestLan.h"
+#include "BCTestPtiEngcontainer.h"
+#include "BCTestPtiEng.hrh"
+#include "bctestqwertymap.h"
+#include "bctestkeymap.h"
+#include "streamlogger.h"
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Symbian 2nd static Constructor
+// ---------------------------------------------------------------------------
+//
+CBCTestLanguage* CBCTestLanguage::NewL()
+ {
+ CBCTestLanguage* self = new( ELeave ) CBCTestLanguage();
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// C++ default constructor
+// ---------------------------------------------------------------------------
+//
+CBCTestLanguage::CBCTestLanguage():iLan(NULL)
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CBCTestLanguage::~CBCTestLanguage()
+ {
+ Teardown();
+ }
+
+// ---------------------------------------------------------------------------
+// Symbian 2nd Constructor
+// ---------------------------------------------------------------------------
+//
+void CBCTestLanguage::ConstructL()
+ {
+ BuildScriptL();
+ }
+
+// ---------------------------------------------------------------------------
+// CBCTestLanguage::BuildScriptL
+// ---------------------------------------------------------------------------
+//
+void CBCTestLanguage::BuildScriptL()
+ {
+ // Add script as your need.
+ AddTestL( LeftCBA,
+ REP(Down, 1),
+ KeyOK, TEND );
+ }
+
+// ---------------------------------------------------------------------------
+// CBCTestLanguage::RunL
+// ---------------------------------------------------------------------------
+//
+void CBCTestLanguage::RunL( TInt aCmd )
+ {
+ if ( aCmd != EBCTestCmdPtiLanguage)
+ {
+ return;
+ }
+
+ TestFunctionL();
+ }
+
+// ---------------------------------------------------------------------------
+// CBCTestLanguage::TestLayoutDecorator
+// ---------------------------------------------------------------------------
+//
+void CBCTestLanguage::TestFunctionL()
+ {
+ SetupL();
+ TestL12nL();
+ TestSetKeyMap();
+ TestOthers();
+ }
+
+
+void CBCTestLanguage::SetupL()
+ {
+ iLan = CPtiCoreLanguage::NewL();
+ AssertNotNullL(iLan, _L("created by NewL"));
+ }
+
+void CBCTestLanguage::Teardown()
+ {
+ delete iLan;
+ iLan = NULL;
+ }
+
+void CBCTestLanguage::TestSetKeyMap()
+ {
+ iLan->SetKeyMappings(CBCTestKeymap::CreateKeyMapL());
+ AssertNotNullL(iLan->GetKeymappings(), _L("Key mapping set and got."));
+
+ if( CBCTestQwertyMap::ValidQwertyMode() )
+ {
+ iLan->SetQwertyKeyMappings(CBCTestQwertyMap::CreateKeyMapL());
+ AssertNotNullL(iLan->GetQwertyKeymappings(), _L("Qwerty key mapping set and got."));
+ iLan->ClearQwerty();
+ AssertTrueL(NULL == iLan->GetQwertyKeymappings(), _L("Qwerty key mapping cleared."));
+ }
+
+ //clear them all
+ iLan->ClearMultitapping();
+ AssertTrueL(NULL == iLan->GetKeymappings(), _L("Key mapping cleared."));
+ }
+
+void CBCTestLanguage::TestL12nL()
+ {
+ //short name
+ _LIT(KShortL12nName, "en");
+ iLan->SetLocalizedName(KShortL12nName);
+ AssertTrueL(iLan->LocalizedNameDes() == KShortL12nName, _L("short i12n name en set and got"));
+
+ //long name
+ _LIT(KLongL12nName, "English, use in both western Eroup and north America");
+ iLan->SetLocalizedName(KLongL12nName);
+ TBuf<KMaxLanguageNameLength> cutName;
+ const TDesC& ref = KLongL12nName;
+ cutName.Copy(ref.Left(KMaxLanguageNameLength));
+ AssertTrueL(iLan->LocalizedNameDes() == cutName, _L("long i12n name set and cut"));
+
+ //lan code
+ TInt oldCode = iLan->LanguageCode();
+ iLan->SetLanguageCode(31); // chinese
+ iLan->SetLanguageCode(31); // set same code again
+ AssertIntL(iLan->LanguageCode(), 31, _L("set lan code to 31"));
+ iLan->SetLanguageCode(1); // set another code
+ AssertIntL(iLan->LanguageCode(), 1, _L("set lan code to 1"));
+ iLan->SetLanguageCode(oldCode); // reset
+ }
+
+void CBCTestLanguage::TestOthers()
+ {
+ RArray<TInt> inputModes;
+ iLan->GetAvailableInputModesL(inputModes);
+ AssertTrueL(ETrue, _L("available input modes are got into RArray"));
+ inputModes.Close();
+
+ CArrayFixFlat<TInt>* modes = new (ELeave) CArrayFixFlat<TInt>(10);
+ CleanupStack::PushL(modes);
+ iLan->GetAvailableInputModesL(modes);
+ AssertTrueL(ETrue, _L("available input modes are got into CArrayFix"));
+ CleanupStack::PopAndDestroy(); // modes
+
+ iLan->RemoveCore(NULL);
+ AssertTrueL(ETrue, _L("NULL core removed"));
+ }
+//end of file