uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestptieng/src/bctestlan.cpp
changeset 0 2f259fa3e83a
child 4 8ca85d2f0db7
--- /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