uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestptieng/src/bctestpticore.cpp
changeset 0 2f259fa3e83a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestptieng/src/bctestpticore.cpp	Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,218 @@
+/*
+* 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 <ptiuids.hrh>
+#include <ptiuserdicentry.h>
+
+#include "BCTestPtiCore.h"
+#include "BCTestPtiEngcontainer.h"
+#include "BCTestPtiEng.hrh"
+#include "streamlogger.h"
+
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Symbian 2nd static Constructor
+// ---------------------------------------------------------------------------
+//
+CBCTestPtiCore* CBCTestPtiCore::NewL()
+    {
+    CBCTestPtiCore* self = new( ELeave ) CBCTestPtiCore();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// C++ default constructor
+// ---------------------------------------------------------------------------
+//
+CBCTestPtiCore::CBCTestPtiCore():iCore(NULL)
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CBCTestPtiCore::~CBCTestPtiCore()
+    {
+    Teardown();
+    }
+
+// ---------------------------------------------------------------------------
+// Symbian 2nd Constructor
+// ---------------------------------------------------------------------------
+//
+void CBCTestPtiCore::ConstructL()
+    {
+    BuildScriptL();
+    }
+
+// ---------------------------------------------------------------------------
+// CBCTestPtiCore::BuildScriptL
+// ---------------------------------------------------------------------------
+//
+void CBCTestPtiCore::BuildScriptL()
+    {
+    // Add script as your need.
+    AddTestL( LeftCBA,
+        REP(Down, 4),
+        KeyOK, TEND );
+    }
+
+// ---------------------------------------------------------------------------
+// CBCTestPtiCore::RunL
+// ---------------------------------------------------------------------------
+//
+void CBCTestPtiCore::RunL( TInt aCmd )
+    {
+    if ( aCmd != EBCTestCmdPtiCore)
+        {
+        return;
+        }
+
+    TestFunctionL();
+    }
+
+// ---------------------------------------------------------------------------
+// CBCTestPtiCore::TestLayoutDecorator
+// ---------------------------------------------------------------------------
+//
+void CBCTestPtiCore::TestFunctionL()
+    {
+    SetupL();
+    TestGeneralL();
+    TestPredictiveLatinL();
+    TestUserDictL();
+    TestChineseL();
+    TestJapaneseL();
+    }
+
+
+void CBCTestPtiCore::SetupL()
+    {
+    iCore = CPtiCore::CreateCoreL(TUid::Uid(TestListCoreL()));
+    AssertNotNullL(iCore, _L("Pti core create from core list"));
+    }
+
+void CBCTestPtiCore::Teardown()
+    {
+    delete iCore;
+    iCore = NULL;
+    }
+
+//static
+TInt CBCTestPtiCore::TestListCoreL()
+    {
+    CArrayFix<TInt>* list = CPtiCore::ListCoresLC();
+    TInt firstUID = (*list)[0] ;
+    CleanupStack::PopAndDestroy();  //list
+    return firstUID;
+    }
+
+void CBCTestPtiCore::TestGeneralL()
+    {
+    Teardown();
+    iCore = new (ELeave) MonkCore;
+
+    AssertIntL(  KErrNotSupported, iCore->Convert(EPtiSimplifiedToComplex, NULL, 0, NULL),
+        _L("Convert hasn't been supported yet"));
+
+    TPtrC8 dummy(KNullDesC8);
+    AssertTrueL( iCore->SetCurrentInputSequence(dummy) == KErrNotSupported,
+        _L("SetCurrentImputSequence() is not support"));
+
+    TBuf<5> output;
+    AssertIntL( KErrNotSupported, iCore->GetSpelling('a', output, EPtiStrokes),
+        _L("GetSpelling returns General Err"));
+
+    _LIT(KNewMapLower, "!@#$");
+    TBuf<5> lowerMap(KNewMapLower);
+    AssertIntL( KErrNotSupported,
+        iCore->SetExternalKeyMapL(EPtiEngineMultitapping, EPtiKey1, lowerMap, EPtiCaseLower),
+        _L("SetExternalKeyMapL hasn't been supported"));
+
+    AssertIntL( KErrNotSupported, iCore->CommitCurrentWord(),
+        _L("CommitCurrentWord"));
+
+    AssertTrueL( TPtrC() == iCore->GetCurrentWord(),
+        _L("GetCurrentWord"));
+    }
+
+void CBCTestPtiCore::TestPredictiveLatinL()
+    {
+    AssertIntL( 0, iCore->NumberOfCandidates(),
+        _L("NumberOfCandidates not implemented"));
+
+    CDesCArray* cands = new (ELeave) CDesCArrayFlat(2);
+    CleanupStack::PushL(cands);
+    AssertIntL(KErrNotSupported, iCore->GetCandidateListL(*cands), _L("Get CandidateList not supported"));
+    AssertIntL(KErrNotSupported, iCore->GetNextWordCandidateListL(*cands), _L("Get Next word CandidateList not supported"));
+    CleanupStack::PopAndDestroy();  //cands
+
+    TBuf<5> res;
+    AssertIntL(KErrNotSupported, iCore->GetFirstCandidate(res), _L("Get first cnadiate not supported"));
+    AssertIntL(KErrNotSupported, iCore->GetNextCandidate(res), _L("Get next cnadiate not supported"));
+    AssertIntL(KErrNotSupported, iCore->GetPreviousCandidate(res), _L("Get prev cnadiate not supported"));
+    }
+
+void CBCTestPtiCore::TestUserDictL()
+    {
+    TPtiUserDictionaryEntry entry(_L("foobar"));
+    AssertIntL(KErrNotSupported, iCore->AddUserDictionaryEntry(entry, NULL), _L("Add user dict entry not supported"));
+    AssertIntL(KErrNotSupported, iCore->RemoveUserDictionaryEntry(entry, NULL), _L("Remove user dict entry not supported"));
+    AssertIntL(0, iCore->NumberOfEntriesInUserDictionary(NULL), _L("NumberOfEntries in user dict got"));
+    AssertIntL(KErrNotSupported, iCore->GetUserDictionaryEntry(0, entry, NULL), _L("get user dict entry not supported"));
+    CPtiUserDictionary* dict=iCore->CreateEmptyUserDictionaryL(32);
+    CleanupStack::PushL(dict);
+    AssertNotNullL(dict, _L("Create empty user dict"));
+    AssertIntL(KErrNotSupported, iCore->AttachUserDictionary(dict), _L("attach user dict not supported"));
+    AssertTrueL(!iCore->DetachUserDictionary(dict), _L("detach user dict"));
+    CleanupStack::PopAndDestroy();  //dict
+    }
+
+void CBCTestPtiCore::TestChineseL()
+    {
+    AssertTrueL(TPtrC() == iCore->GetCandidatePage(), _L("Get candidate page"));
+    AssertTrueL(!iCore->NextCandidatePage(), _L("no next candidate page"));
+    AssertTrueL(!iCore->PreviousCandidatePage(), _L("no prev candidate page"));
+    AssertTrueL(!iCore->MoreCandidatePages(), _L("no more candidate page"));
+    iCore->SetCandidatePageLength(0);
+    AssertTrueL(ETrue, _L("set cnadidate page length do nothing"));
+    AssertTrueL(TPtrC() == iCore->GetPhoneticSpelling(0), _L("Get phonetic spelling"));
+    AssertIntL(0, iCore->PhoneticSpellingCount(), _L("phonetic spelling count returns 0"));
+    AssertTrueL(!iCore->SelectPhoneticSpelling(0), _L("select phonetic spelling returns false"));
+    AssertIntL(KErrNotSupported, iCore->SelectedPhoneticSpelling(), _L("selected phonetic spelling not supported"));
+    TText mark='a';
+    AssertTrueL(!iCore->ToneMark(mark), _L("tone mark returns false"));
+    AssertTrueL(!iCore->IsToneMarkValidForSpelling(), _L("tone mark is invalid for spelling"));
+    AssertTrueL(!iCore->SetPredictiveChineseChar(_L("")), _L("set predictive chinese char returns false"));
+    AssertTrueL(!iCore->SetToneMark(0), _L("set tone mark returns false"));
+    }
+
+void CBCTestPtiCore::TestJapaneseL()
+    {
+    AssertTrueL(TPtrC() == iCore->ReadingTextL(), _L("reading text"));
+    AssertTrueL(NULL == iCore->CompositionData(), _L("composition data got"));
+    }