--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/contenthandling/webrecognisers/Test/t_recwap/crecwaprecogtest.cpp Tue Feb 02 10:12:00 2010 +0200
@@ -0,0 +1,254 @@
+// Copyright (c) 2005-2009 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:
+//
+
+#include "crecwaprecogtest.h"
+
+#include <apmrec.h>
+#include <apgcli.h>
+#include <flogger.h>
+
+const TInt KTestCaseCount = 6;
+const TInt KTestDataSize = 2048;
+
+_LIT8(KWMLMimeType,"text/vnd.wap.wml");
+_LIT8(KWMLCMimeType,"application/vnd.wap.wmlc");
+_LIT8(KWMLSCMimeType,"application/vnd.wap.wmlscriptc");
+_LIT8(KWMLSMimeType,"text/vnd.wap.wmlscript");
+_LIT8(KWMLDTDMimeType,"text/vnd.symbian.wml.dtd");
+_LIT8(KWBXMLMimeType,"application/vnd.wap.wbxml");
+
+CRecWapRecogTest* CRecWapRecogTest::NewL(TAny* aConstructionsParams)
+ {
+ TRecogTestConstructionParams* params = reinterpret_cast<TRecogTestConstructionParams*>(aConstructionsParams);
+ CRecWapRecogTest* self = new(ELeave) CRecWapRecogTest(*params->iAppArcSession, *params->iLogger);
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+CRecWapRecogTest::~CRecWapRecogTest()
+ {
+ iFs.Close();
+ }
+
+CRecWapRecogTest::CRecWapRecogTest(RApaLsSession& aAppArc, RFileLogger& aLogger)
+: CEComRecogTest(), iAppArc(aAppArc), iLogger(aLogger)
+ {
+ iTestCaseTitle.Set(KNullDesC());
+ }
+
+void CRecWapRecogTest::ConstructL()
+ {
+ User::LeaveIfError(iFs.Connect());
+ }
+
+const TDesC& CRecWapRecogTest::TestPluginTitle() const
+ {
+ _LIT(KTxtTitle, "Wap Recogniser Test");
+ return KTxtTitle();
+ }
+
+TInt CRecWapRecogTest::TestCaseCount() const
+ {
+ return KTestCaseCount;
+ }
+
+const TDesC& CRecWapRecogTest::TestCaseTitle(TInt aIndex)
+ {
+ switch(aIndex)
+ {
+ case 0:
+ {
+ _LIT(KTxtTC1, "Recognise a.wml");
+ iTestCaseTitle.Set(KTxtTC1);
+ } break;
+ case 1:
+ {
+ _LIT(KTxtTC2, "Recognise a.wmlc");
+ iTestCaseTitle.Set(KTxtTC2);
+ } break;
+ case 2:
+ {
+ _LIT(KTxtTC3, "Recognise a.wmlsc");
+ iTestCaseTitle.Set(KTxtTC3);
+ } break;
+ case 3:
+ {
+ _LIT(KTxtTC4, "Recognise a.wmls");
+ iTestCaseTitle.Set(KTxtTC4);
+ } break;
+ case 4:
+ {
+ _LIT(KTxtTC5, "Recognise a.dtd");
+ iTestCaseTitle.Set(KTxtTC5);
+ } break;
+ case 5:
+ {
+ _LIT(KTxtTC6, "Recognise a.wbxml");
+ iTestCaseTitle.Set(KTxtTC6);
+ } break;
+ default:
+ User::Invariant();
+ break;
+ };
+
+ return iTestCaseTitle;
+ }
+
+void CRecWapRecogTest::RunTestCaseL(TInt aIndex)
+ {
+ switch(aIndex)
+ {
+ case 0:
+ {
+ RunTestCase1L();
+ } break;
+ case 1:
+ {
+ RunTestCase2L();
+ } break;
+ case 2:
+ {
+ RunTestCase3L();
+ } break;
+ case 3:
+ {
+ RunTestCase4L();
+ } break;
+ case 4:
+ {
+ RunTestCase5L();
+ } break;
+ case 5:
+ {
+ RunTestCase6L();
+ } break;
+ default:
+ User::Invariant();
+ break;
+ };
+ }
+
+void CRecWapRecogTest::RunTestL(const TDesC& aTestData, const TDesC8& aExpectedType)
+ {
+ RFile testFile;
+ CleanupClosePushL(testFile);
+ User::LeaveIfError(testFile.Open(iFs, aTestData, EFileRead));
+ HBufC8* fileBuf = HBufC8::NewLC(KTestDataSize);
+ TPtr8 fileBufDes = fileBuf->Des();
+
+ User::LeaveIfError(testFile.Read(fileBufDes));
+
+ TDataRecognitionResult recogResult;
+
+ iAppArc.RecognizeData(aTestData, *fileBuf, recogResult);
+
+ TPtrC8 dataTypeResult(recogResult.iDataType.Des8());
+
+ _LIT(KTxtData, "Data: %S");
+ iLogger.WriteFormat(KTxtData(), &aTestData);
+ _LIT8(KTxtExpected, "Expected: %S");
+ iLogger.WriteFormat(KTxtExpected(), &aExpectedType);
+ _LIT8(KTxtActual, "Actual : %S");
+ iLogger.WriteFormat(KTxtActual(), &dataTypeResult);
+ LogConfidence(recogResult.iConfidence);
+
+ if(dataTypeResult.CompareF(aExpectedType)!=0)
+ User::Leave(KErrNotFound);
+
+ CleanupStack::PopAndDestroy(2, &testFile); // fileBuf, testFile
+ }
+
+void CRecWapRecogTest::RunTestCase1L()
+ {
+ _LIT(KTxtTestFile1Path, "z:\\recogtestdata\\a.wml");
+
+ RunTestL(KTxtTestFile1Path(), KWMLMimeType());
+ }
+
+void CRecWapRecogTest::RunTestCase2L()
+ {
+ _LIT(KTxtTestFile2Path, "z:\\recogtestdata\\a.wmlc");
+
+ RunTestL(KTxtTestFile2Path(), KWMLCMimeType());
+ }
+
+void CRecWapRecogTest::RunTestCase3L()
+ {
+ _LIT(KTxtTestFile3Path, "z:\\recogtestdata\\a.wmlsc");
+
+ RunTestL(KTxtTestFile3Path(), KWMLSCMimeType());
+ }
+
+void CRecWapRecogTest::RunTestCase4L()
+ {
+ _LIT(KTxtTestFile4Path, "z:\\recogtestdata\\a.wmls");
+
+ RunTestL(KTxtTestFile4Path(), KWMLSMimeType());
+ }
+
+void CRecWapRecogTest::RunTestCase5L()
+ {
+ _LIT(KTxtTestFile5Path, "z:\\recogtestdata\\a.dtd");
+
+ RunTestL(KTxtTestFile5Path(), KWMLDTDMimeType());
+ }
+
+void CRecWapRecogTest::RunTestCase6L()
+ {
+ _LIT(KTxtTestFile6Path, "z:\\recogtestdata\\a.wbxml");
+
+ RunTestL(KTxtTestFile6Path(), KWBXMLMimeType());
+ }
+
+
+void CRecWapRecogTest::LogConfidence(TInt aConfidence)
+ {
+ TPtrC8 confidence;
+ switch(aConfidence)
+ {
+ case CApaDataRecognizerType::ECertain:
+ {
+ _LIT8(KTxtCertain, "Certain");
+ confidence.Set(KTxtCertain());
+ } break;
+ case CApaDataRecognizerType::EProbable:
+ {
+ _LIT8(KTxtProbable, "Probable");
+ confidence.Set(KTxtProbable());
+ } break;
+ case CApaDataRecognizerType::EPossible:
+ {
+ _LIT8(KTxtPossible, "Possible");
+ confidence.Set(KTxtPossible());
+ } break;
+ case CApaDataRecognizerType::EUnlikely:
+ {
+ _LIT8(KTxtUnlikely, "Unlikely");
+ confidence.Set(KTxtUnlikely());
+ } break;
+ case CApaDataRecognizerType::ENotRecognized:
+ {
+ _LIT8(KTxtNotRecognized, "NotRecognized");
+ confidence.Set(KTxtNotRecognized());
+ } break;
+ default:
+ User::Invariant();
+ break;
+ };
+ _LIT8(KTxtConfidence, "Confidence: %S");
+ iLogger.WriteFormat(KTxtConfidence(), &confidence);
+ }