|
1 // Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 // All rights reserved. |
|
3 // This component and the accompanying materials are made available |
|
4 // under the terms of "Eclipse Public License v1.0" |
|
5 // which accompanies this distribution, and is available |
|
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // |
|
15 |
|
16 #include "cweburlrecogtest.h" |
|
17 |
|
18 #include <apmrec.h> |
|
19 #include <apgcli.h> |
|
20 #include <flogger.h> |
|
21 |
|
22 const TInt KTestCaseCount = 6; |
|
23 |
|
24 CWebUrlRecogTest* CWebUrlRecogTest::NewL(TAny* aConstructionsParams) |
|
25 { |
|
26 TRecogTestConstructionParams* params = reinterpret_cast<TRecogTestConstructionParams*>(aConstructionsParams); |
|
27 CWebUrlRecogTest* self = new(ELeave) CWebUrlRecogTest(*params->iAppArcSession, *params->iLogger); |
|
28 CleanupStack::PushL(self); |
|
29 self->ConstructL(); |
|
30 CleanupStack::Pop(self); |
|
31 return self; |
|
32 } |
|
33 |
|
34 CWebUrlRecogTest::~CWebUrlRecogTest() |
|
35 { |
|
36 } |
|
37 |
|
38 CWebUrlRecogTest::CWebUrlRecogTest(RApaLsSession& aAppArc, RFileLogger& aLogger) |
|
39 : CEComRecogTest(), iAppArc(aAppArc), iLogger(aLogger) |
|
40 { |
|
41 iTestCaseTitle.Set(KNullDesC()); |
|
42 } |
|
43 |
|
44 void CWebUrlRecogTest::ConstructL() |
|
45 { |
|
46 } |
|
47 |
|
48 const TDesC& CWebUrlRecogTest::TestPluginTitle() const |
|
49 { |
|
50 _LIT(KTxtTitle, "WebUrlRec Test"); |
|
51 return KTxtTitle(); |
|
52 } |
|
53 |
|
54 TInt CWebUrlRecogTest::TestCaseCount() const |
|
55 { |
|
56 return KTestCaseCount; |
|
57 } |
|
58 |
|
59 const TDesC& CWebUrlRecogTest::TestCaseTitle(TInt aIndex) |
|
60 { |
|
61 switch(aIndex) |
|
62 { |
|
63 case 0: |
|
64 { |
|
65 _LIT(KTxtTC1, "Recognise http scheme"); |
|
66 iTestCaseTitle.Set(KTxtTC1); |
|
67 } break; |
|
68 case 1: |
|
69 { |
|
70 _LIT(KTxtTC2, "Recognise https scheme"); |
|
71 iTestCaseTitle.Set(KTxtTC2); |
|
72 } break; |
|
73 case 2: |
|
74 { |
|
75 _LIT(KTxtTC3, "Recognise file scheme"); |
|
76 iTestCaseTitle.Set(KTxtTC3); |
|
77 } break; |
|
78 case 3: |
|
79 { |
|
80 _LIT(KTxtTC4, "Recognise mailto scheme"); |
|
81 iTestCaseTitle.Set(KTxtTC4); |
|
82 } break; |
|
83 case 4: |
|
84 { |
|
85 _LIT(KTxtTC5, "Recognise sms scheme"); |
|
86 iTestCaseTitle.Set(KTxtTC5); |
|
87 } break; |
|
88 case 5: |
|
89 { |
|
90 _LIT(KTxtTC6, "Recognise mms scheme"); |
|
91 iTestCaseTitle.Set(KTxtTC6); |
|
92 } break; |
|
93 default: |
|
94 User::Invariant(); |
|
95 break; |
|
96 }; |
|
97 |
|
98 return iTestCaseTitle; |
|
99 } |
|
100 |
|
101 void CWebUrlRecogTest::RunTestCaseL(TInt aIndex) |
|
102 { |
|
103 switch(aIndex) |
|
104 { |
|
105 case 0: |
|
106 { |
|
107 RunTestCase1L(); |
|
108 } break; |
|
109 case 1: |
|
110 { |
|
111 RunTestCase2L(); |
|
112 } break; |
|
113 case 2: |
|
114 { |
|
115 RunTestCase3L(); |
|
116 } break; |
|
117 case 3: |
|
118 { |
|
119 RunTestCase4L(); |
|
120 } break; |
|
121 case 4: |
|
122 { |
|
123 RunTestCase5L(); |
|
124 } break; |
|
125 case 5: |
|
126 { |
|
127 RunTestCase6L(); |
|
128 } break; |
|
129 default: |
|
130 User::Invariant(); |
|
131 break; |
|
132 }; |
|
133 } |
|
134 |
|
135 void CWebUrlRecogTest::RunTestCase1L() |
|
136 { |
|
137 _LIT(KTxtHttpScheme, "http://www.symbian.com"); |
|
138 |
|
139 TDataRecognitionResult recogResult; |
|
140 |
|
141 iAppArc.RecognizeData(KTxtHttpScheme(), KNullDesC8(), recogResult); |
|
142 |
|
143 _LIT8(KHttpUrlDataType, "X-Epoc-Url/http"); |
|
144 |
|
145 TPtrC8 dataTypeResult(recogResult.iDataType.Des8()); |
|
146 |
|
147 if(dataTypeResult.CompareF(KHttpUrlDataType())==0) |
|
148 { |
|
149 _LIT(KTxtData, "Data: %S"); |
|
150 iLogger.WriteFormat(KTxtData(), &KTxtHttpScheme()); |
|
151 _LIT8(KTxtExpected, "Expected: %S"); |
|
152 iLogger.WriteFormat(KTxtExpected(), &KHttpUrlDataType()); |
|
153 _LIT8(KTxtActual, "Actual : %S"); |
|
154 iLogger.WriteFormat(KTxtActual(), &dataTypeResult); |
|
155 LogConfidence(recogResult.iConfidence); |
|
156 } |
|
157 else |
|
158 User::Leave(KErrNotFound); |
|
159 } |
|
160 |
|
161 void CWebUrlRecogTest::RunTestCase2L() |
|
162 { |
|
163 _LIT(KTxtHttpScheme, "https://www.symbian.com"); |
|
164 |
|
165 TDataRecognitionResult recogResult; |
|
166 |
|
167 iAppArc.RecognizeData(KTxtHttpScheme(), KNullDesC8(), recogResult); |
|
168 |
|
169 _LIT8(KHttpUrlDataType, "X-Epoc-Url/https"); |
|
170 |
|
171 TPtrC8 dataTypeResult(recogResult.iDataType.Des8()); |
|
172 |
|
173 if(dataTypeResult.CompareF(KHttpUrlDataType())==0) |
|
174 { |
|
175 _LIT(KTxtData, "Data: %S"); |
|
176 iLogger.WriteFormat(KTxtData(), &KTxtHttpScheme()); |
|
177 _LIT8(KTxtExpected, "Expected: %S"); |
|
178 iLogger.WriteFormat(KTxtExpected(), &KHttpUrlDataType()); |
|
179 _LIT8(KTxtActual, "Actual : %S"); |
|
180 iLogger.WriteFormat(KTxtActual(), &dataTypeResult); |
|
181 LogConfidence(recogResult.iConfidence); |
|
182 } |
|
183 else |
|
184 User::Leave(KErrNotFound); |
|
185 } |
|
186 |
|
187 void CWebUrlRecogTest::RunTestCase3L() |
|
188 { |
|
189 _LIT(KTxtHttpScheme, "file://c:/testfile.txt"); |
|
190 |
|
191 TDataRecognitionResult recogResult; |
|
192 |
|
193 iAppArc.RecognizeData(KTxtHttpScheme(), KNullDesC8(), recogResult); |
|
194 |
|
195 _LIT8(KHttpUrlDataType, "X-Epoc-Url/file"); |
|
196 |
|
197 TPtrC8 dataTypeResult(recogResult.iDataType.Des8()); |
|
198 |
|
199 if(dataTypeResult.CompareF(KHttpUrlDataType())==0) |
|
200 { |
|
201 _LIT(KTxtData, "Data: %S"); |
|
202 iLogger.WriteFormat(KTxtData(), &KTxtHttpScheme()); |
|
203 _LIT8(KTxtExpected, "Expected: %S"); |
|
204 iLogger.WriteFormat(KTxtExpected(), &KHttpUrlDataType()); |
|
205 _LIT8(KTxtActual, "Actual : %S"); |
|
206 iLogger.WriteFormat(KTxtActual(), &dataTypeResult); |
|
207 LogConfidence(recogResult.iConfidence); |
|
208 } |
|
209 else |
|
210 User::Leave(KErrNotFound); |
|
211 } |
|
212 void CWebUrlRecogTest::RunTestCase4L() |
|
213 { |
|
214 _LIT(KTxtMailtoScheme, "mailto:mtscf@microsoft.com"); |
|
215 |
|
216 TDataRecognitionResult recogResult; |
|
217 |
|
218 iAppArc.RecognizeData(KTxtMailtoScheme(), KNullDesC8(), recogResult); |
|
219 |
|
220 _LIT8(KMailtoUrlDataType, "X-Epoc-Url/mailto"); |
|
221 |
|
222 TPtrC8 dataTypeResult(recogResult.iDataType.Des8()); |
|
223 |
|
224 if(dataTypeResult.CompareF(KMailtoUrlDataType())==0) |
|
225 { |
|
226 _LIT(KTxtData, "Data: %S"); |
|
227 iLogger.WriteFormat(KTxtData(), &KTxtMailtoScheme()); |
|
228 _LIT8(KTxtExpected, "Expected: %S"); |
|
229 iLogger.WriteFormat(KTxtExpected(), &KMailtoUrlDataType()); |
|
230 _LIT8(KTxtActual, "Actual : %S"); |
|
231 iLogger.WriteFormat(KTxtActual(), &dataTypeResult); |
|
232 LogConfidence(recogResult.iConfidence); |
|
233 } |
|
234 else |
|
235 User::Leave(KErrNotFound); |
|
236 } |
|
237 void CWebUrlRecogTest::RunTestCase5L() |
|
238 { |
|
239 _LIT(KTxtSmsScheme, "sms:9844704831"); |
|
240 |
|
241 TDataRecognitionResult recogResult; |
|
242 |
|
243 iAppArc.RecognizeData(KTxtSmsScheme(), KNullDesC8(), recogResult); |
|
244 |
|
245 _LIT8(KSmsUrlDataType, "X-Epoc-Url/sms"); |
|
246 |
|
247 TPtrC8 dataTypeResult(recogResult.iDataType.Des8()); |
|
248 |
|
249 if(dataTypeResult.CompareF(KSmsUrlDataType())==0) |
|
250 { |
|
251 _LIT(KTxtData, "Data: %S"); |
|
252 iLogger.WriteFormat(KTxtData(), &KTxtSmsScheme()); |
|
253 _LIT8(KTxtExpected, "Expected: %S"); |
|
254 iLogger.WriteFormat(KTxtExpected(), &KSmsUrlDataType()); |
|
255 _LIT8(KTxtActual, "Actual : %S"); |
|
256 iLogger.WriteFormat(KTxtActual(), &dataTypeResult); |
|
257 LogConfidence(recogResult.iConfidence); |
|
258 } |
|
259 else |
|
260 User::Leave(KErrNotFound); |
|
261 } |
|
262 void CWebUrlRecogTest::RunTestCase6L() |
|
263 { |
|
264 _LIT(KTxtMmsScheme, "mms:9844704831"); |
|
265 |
|
266 TDataRecognitionResult recogResult; |
|
267 |
|
268 iAppArc.RecognizeData(KTxtMmsScheme(), KNullDesC8(), recogResult); |
|
269 |
|
270 _LIT8(KMmsUrlDataType, "X-Epoc-Url/mms"); |
|
271 |
|
272 TPtrC8 dataTypeResult(recogResult.iDataType.Des8()); |
|
273 |
|
274 if(dataTypeResult.CompareF(KMmsUrlDataType())==0) |
|
275 { |
|
276 _LIT(KTxtData, "Data: %S"); |
|
277 iLogger.WriteFormat(KTxtData(), &KTxtMmsScheme()); |
|
278 _LIT8(KTxtExpected, "Expected: %S"); |
|
279 iLogger.WriteFormat(KTxtExpected(), &KMmsUrlDataType()); |
|
280 _LIT8(KTxtActual, "Actual : %S"); |
|
281 iLogger.WriteFormat(KTxtActual(), &dataTypeResult); |
|
282 LogConfidence(recogResult.iConfidence); |
|
283 } |
|
284 else |
|
285 User::Leave(KErrNotFound); |
|
286 } |
|
287 |
|
288 void CWebUrlRecogTest::LogConfidence(TInt aConfidence) |
|
289 { |
|
290 TPtrC8 confidence; |
|
291 switch(aConfidence) |
|
292 { |
|
293 case CApaDataRecognizerType::ECertain: |
|
294 { |
|
295 _LIT8(KTxtCertain, "Certain"); |
|
296 confidence.Set(KTxtCertain()); |
|
297 } break; |
|
298 case CApaDataRecognizerType::EProbable: |
|
299 { |
|
300 _LIT8(KTxtProbable, "Probable"); |
|
301 confidence.Set(KTxtProbable()); |
|
302 } break; |
|
303 case CApaDataRecognizerType::EPossible: |
|
304 { |
|
305 _LIT8(KTxtPossible, "Possible"); |
|
306 confidence.Set(KTxtPossible()); |
|
307 } break; |
|
308 case CApaDataRecognizerType::EUnlikely: |
|
309 { |
|
310 _LIT8(KTxtUnlikely, "Unlikely"); |
|
311 confidence.Set(KTxtUnlikely()); |
|
312 } break; |
|
313 case CApaDataRecognizerType::ENotRecognized: |
|
314 { |
|
315 _LIT8(KTxtNotRecognized, "NotRecognized"); |
|
316 confidence.Set(KTxtNotRecognized()); |
|
317 } break; |
|
318 default: |
|
319 User::Invariant(); |
|
320 break; |
|
321 }; |
|
322 _LIT8(KTxtConfidence, "Confidence: %S"); |
|
323 iLogger.WriteFormat(KTxtConfidence(), &confidence); |
|
324 } |