|
1 /* |
|
2 * Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: |
|
15 * |
|
16 */ |
|
17 |
|
18 |
|
19 #include <e32std.h> |
|
20 #include <e32test.h> |
|
21 #include <e32cons.h> |
|
22 #include <e32base.h> |
|
23 #include <e32svr.h> |
|
24 |
|
25 #include <f32file.h> |
|
26 |
|
27 #include "NumberConversion.h" |
|
28 |
|
29 RTest test(_L("NumberConversion Test")); |
|
30 CConsoleBase* console; |
|
31 |
|
32 |
|
33 void DriveEngineL(); |
|
34 void SetupConsoleL(); |
|
35 |
|
36 const TInt KCalypsoConsoleHeight = 15; |
|
37 const TInt KCalypsoConsoleWidth = 20; |
|
38 |
|
39 |
|
40 void RunTestsL(); |
|
41 |
|
42 |
|
43 _LIT(KStringToNumber1, "123"); // plain western |
|
44 _LIT(KStringToNumber2, "\x0661\x0662\x0663"); // plain arabic |
|
45 _LIT(KStringToNumber3, "\x06F1\x06F2\x06F3"); // plain eastern-arabic |
|
46 _LIT(KStringToNumber4, "12\x0663"); // mixed western/arabic |
|
47 |
|
48 /** |
|
49 * Work around for DEF063276. |
|
50 * This literal is now loaded from a z:\test\data\KStringToNumber5.dat |
|
51 * Bullseye Coverage corrupts this literal, to avoid this it is stored in a file as to not be touched by Bullseye Coverage. |
|
52 */ |
|
53 |
|
54 //_LIT(KStringToNumber5, "1\x06F2\x0033"); // mixed western/eastern-arabic |
|
55 _LIT(KStringToNumber6, "\x0661\x0662\x06F3"); // mixed arabic/eastern-arabic |
|
56 _LIT(KStringToNumber7, "1\x0662\x06F3"); // mixed western/arabic/eastern-arabic |
|
57 _LIT(KStringToNumber8, "\x0967\x0968\x0969"); // plain devanagari |
|
58 _LIT(KStringToNumber9, "\x0E51\x0E52\x0E53"); // plain thai |
|
59 _LIT(KStringToNumber10, "1\x0968\x0969"); // mixed western/devanagari |
|
60 _LIT(KStringToNumber11, "1\x0E52\x0E53"); // mixed western/thai |
|
61 _LIT(KStringToNumber12, "\x0967\x0E52\x0E53"); // mixed devanagari/thai |
|
62 _LIT(KStringToNumber13, "1\x0E52\x0969"); // mixed western/thai/devanagari |
|
63 _LIT(KStringToNumber14, "xxx"); // unknown symbols |
|
64 |
|
65 // DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
66 _LIT(KStringToNumber15, "\x09E7\x09E8\x09E9"); // plain bengali |
|
67 _LIT(KStringToNumber16, "\x0A67\x0A68\x0A69"); // plain gurmukhi |
|
68 _LIT(KStringToNumber17, "\x0AE7\x0AE8\x0AE9"); // plain gujarati |
|
69 _LIT(KStringToNumber18, "\x0B67\x0B68\x0B69"); // plain oriya |
|
70 _LIT(KStringToNumber19, "\x0BE7\x0BE8\x0BE9"); // plain tamil |
|
71 _LIT(KStringToNumber20, "\x0C67\x0C68\x0C69"); // plain telegu |
|
72 _LIT(KStringToNumber21, "\x0CE7\x0CE8\x0CE9"); // plain kannada |
|
73 _LIT(KStringToNumber22, "\x0D67\x0D68\x0D69"); // plain malayalam |
|
74 _LIT(KStringToNumber23, "\x0ED1\x0ED2\x0ED3"); // plain lao |
|
75 _LIT(KStringToNumber24, "\x0F21\x0F22\x0F32"); // plain tibetan |
|
76 _LIT(KStringToNumber25, "\x01041\x01042\x01043"); // plain mayanmar |
|
77 _LIT(KStringToNumber26, "\x017E1\x017E2\x017E3"); // plain khmer |
|
78 _LIT(KStringToNumber27, "1\x0968\x0969"); // mixed western/bengali |
|
79 _LIT(KStringToNumber28, "\x0CE7\x0E52\x0E53"); // mixed kannada/thai |
|
80 _LIT(KStringToNumber29, "1\x0E52\x0969"); // mixed western/thai/tibetan |
|
81 // End of DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
82 |
|
83 _LIT(KPositionOfNextNumber1, "test1"); //western |
|
84 _LIT(KPositionOfNextNumber2, "testa\x0661"); //arabic |
|
85 _LIT(KPositionOfNextNumber3, "testaa\x06F1"); //eastern arabic |
|
86 _LIT(KPositionOfNextNumber4, "testaaa\x0967"); // devanagari |
|
87 _LIT(KPositionOfNextNumber5, "testaaaa\x0E51"); // thai |
|
88 _LIT(KPositionOfNextNumber6, "test"); // none |
|
89 |
|
90 // DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
91 _LIT(KPositionOfNextNumber7, "testaaaaa\x09E7"); // bengali |
|
92 _LIT(KPositionOfNextNumber8, "testaaaaaa\x0A67"); // gurmukhi |
|
93 _LIT(KPositionOfNextNumber9, "testaaaaaaa\x0AE7"); // gujarati |
|
94 _LIT(KPositionOfNextNumber10, "testaaaaaaaa\x0B67"); // oriya |
|
95 _LIT(KPositionOfNextNumber11, "testaaaaaaaaa\x0BE7"); // tamil |
|
96 _LIT(KPositionOfNextNumber12, "testaaaaaaaaaa\x0C67"); // telegu |
|
97 _LIT(KPositionOfNextNumber13, "testaaaaaaaaaaa\x0CE7"); // kannada |
|
98 _LIT(KPositionOfNextNumber14, "testaaaaaaaaaaaa\x0D67"); // malayalam |
|
99 _LIT(KPositionOfNextNumber15, "testaaaaaaaaaaaaa\x0ED1"); // lao |
|
100 _LIT(KPositionOfNextNumber16, "testaaaaaaaaaaaaaa\x0F20"); // tibetan |
|
101 _LIT(KPositionOfNextNumber17, "testaaaaaaaaaaaaaaa\x01041"); // mayanmar |
|
102 _LIT(KPositionOfNextNumber18, "testaaaaaaaaaaaaaaaa\x017E1"); // khmer |
|
103 |
|
104 |
|
105 |
|
106 _LIT(KFormatNumber1, "123"); // plain western |
|
107 _LIT(KFormatNumber2, "1230"); // plain western |
|
108 _LIT(KFormatNumber3, "\x0661\x0662\x0663"); // plain arabic |
|
109 _LIT(KFormatNumber4, "\x06F1\x06F2\x06F3"); // plain eastern-arabic |
|
110 _LIT(KFormatNumber5, "\x0967\x0968\x0969"); // plain devanagari |
|
111 _LIT(KFormatNumber6, "\x0E51\x0E52\x0E53"); // plain thai |
|
112 |
|
113 // DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
114 _LIT(KFormatNumber7, "\x09E7\x09E8\x09E9"); // plain bengali |
|
115 _LIT(KFormatNumber8, "\x0A67\x0A68\x0A69"); // plain gurmukhi |
|
116 _LIT(KFormatNumber9, "\x0AE7\x0AE8\x0AE9"); // plain gujarati |
|
117 _LIT(KFormatNumber10, "\x0B67\x0B68\x0B69"); // plain oriya |
|
118 _LIT(KFormatNumber11, "\x0BE7\x0BE8\x0BE9"); // plain tamil |
|
119 _LIT(KFormatNumber12, "\x0C67\x0C68\x0C69"); // plain telegu |
|
120 _LIT(KFormatNumber13, "\x0CE7\x0CE8\x0CE9"); // plain kannada |
|
121 _LIT(KFormatNumber14, "\x0D67\x0D68\x0D69"); // plain malayalam |
|
122 _LIT(KFormatNumber15, "\x0ED1\x0ED2\x0ED3"); // plain lao |
|
123 _LIT(KFormatNumber16, "\x0F21\x0F22\x0F23"); // plain tibetan |
|
124 _LIT(KFormatNumber17, "\x01041\x01042\x01043"); // plain mayanmar |
|
125 _LIT(KFormatNumber18, "\x017E1\x017E2\x017E3"); // plain khmer |
|
126 // End of DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
127 |
|
128 _LIT(KAppendFormatNumber1, "test123"); // plain western |
|
129 _LIT(KAppendFormatNumber2, "test1231230"); // plain western |
|
130 _LIT(KAppendFormatNumber3, "test1231230\x0661\x0662\x0663"); // plain arabic |
|
131 _LIT(KAppendFormatNumber4, "test1231230\x0661\x0662\x0663\x06F1\x06F2\x06F3"); // plain eastern-arabic |
|
132 _LIT(KAppendFormatNumber5, "test1231230\x0661\x0662\x0663\x06F1\x06F2\x06F3\x0967\x0968\x0969"); // plain devanagari |
|
133 _LIT(KAppendFormatNumber6, "test1231230\x0661\x0662\x0663\x06F1\x06F2\x06F3\x0967\x0968\x0969\x0E51\x0E52\x0E53"); // plain thai |
|
134 |
|
135 // DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
136 _LIT(KAppendFormatNumber7, "test1231230\x0661\x0662\x0663\x06F1\x06F2\x06F3\x0967\x0968\x0969\x0E51\x0E52\x0E53\x09E7\x09E8\x09E9"); // plain bengali |
|
137 _LIT(KAppendFormatNumber8, "test1231230\x0661\x0662\x0663\x06F1\x06F2\x06F3\x0967\x0968\x0969\x0E51\x0E52\x0E53\x09E7\x09E8\x09E9\x0A67\x0A68\x0A69"); // plain gurmukhi |
|
138 _LIT(KAppendFormatNumber9, "test1231230\x0661\x0662\x0663\x06F1\x06F2\x06F3\x0967\x0968\x0969\x0E51\x0E52\x0E53\x09E7\x09E8\x09E9\x0A67\x0A68\x0A69\x0AE7\x0AE8\x0AE9"); // plain gujarati |
|
139 _LIT(KAppendFormatNumber10, "test1231230\x0661\x0662\x0663\x06F1\x06F2\x06F3\x0967\x0968\x0969\x0E51\x0E52\x0E53\x09E7\x09E8\x09E9\x0A67\x0A68\x0A69\x0AE7\x0AE8\x0AE9\x0B67\x0B68\x0B69"); // plain oriya |
|
140 _LIT(KAppendFormatNumber11, "test1231230\x0661\x0662\x0663\x06F1\x06F2\x06F3\x0967\x0968\x0969\x0E51\x0E52\x0E53\x09E7\x09E8\x09E9\x0A67\x0A68\x0A69\x0AE7\x0AE8\x0AE9\x0B67\x0B68\x0B69\x0BE7\x0BE8\x0BE9"); // plain tamil |
|
141 _LIT(KAppendFormatNumber12, "test1231230\x0661\x0662\x0663\x06F1\x06F2\x06F3\x0967\x0968\x0969\x0E51\x0E52\x0E53\x09E7\x09E8\x09E9\x0A67\x0A68\x0A69\x0AE7\x0AE8\x0AE9\x0B67\x0B68\x0B69\x0BE7\x0BE8\x0BE9\x0C67\x0C68\x0C69"); // plain telegu |
|
142 _LIT(KAppendFormatNumber13, "test1231230\x0661\x0662\x0663\x06F1\x06F2\x06F3\x0967\x0968\x0969\x0E51\x0E52\x0E53\x09E7\x09E8\x09E9\x0A67\x0A68\x0A69\x0AE7\x0AE8\x0AE9\x0B67\x0B68\x0B69\x0BE7\x0BE8\x0BE9\x0C67\x0C68\x0C69\x0CE7\x0CE8\x0CE9"); // plain kannada |
|
143 _LIT(KAppendFormatNumber14, "test1231230\x0661\x0662\x0663\x06F1\x06F2\x06F3\x0967\x0968\x0969\x0E51\x0E52\x0E53\x09E7\x09E8\x09E9\x0A67\x0A68\x0A69\x0AE7\x0AE8\x0AE9\x0B67\x0B68\x0B69\x0BE7\x0BE8\x0BE9\x0C67\x0C68\x0C69\x0CE7\x0CE8\x0CE9\x0D67\x0D68\x0D69"); // plain malayalam |
|
144 _LIT(KAppendFormatNumber15, "test1231230\x0661\x0662\x0663\x06F1\x06F2\x06F3\x0967\x0968\x0969\x0E51\x0E52\x0E53\x09E7\x09E8\x09E9\x0A67\x0A68\x0A69\x0AE7\x0AE8\x0AE9\x0B67\x0B68\x0B69\x0BE7\x0BE8\x0BE9\x0C67\x0C68\x0C69\x0CE7\x0CE8\x0CE9\x0D67\x0D68\x0D69\x0ED1\x0ED2\x0ED3"); // plain lao |
|
145 _LIT(KAppendFormatNumber16, "test1231230\x0661\x0662\x0663\x06F1\x06F2\x06F3\x0967\x0968\x0969\x0E51\x0E52\x0E53\x09E7\x09E8\x09E9\x0A67\x0A68\x0A69\x0AE7\x0AE8\x0AE9\x0B67\x0B68\x0B69\x0BE7\x0BE8\x0BE9\x0C67\x0C68\x0C69\x0CE7\x0CE8\x0CE9\x0D67\x0D68\x0D69\x0ED1\x0ED2\x0ED3\x0F21\x0F22\x0F23"); // plain tibetan |
|
146 _LIT(KAppendFormatNumber17, "test1231230\x0661\x0662\x0663\x06F1\x06F2\x06F3\x0967\x0968\x0969\x0E51\x0E52\x0E53\x09E7\x09E8\x09E9\x0A67\x0A68\x0A69\x0AE7\x0AE8\x0AE9\x0B67\x0B68\x0B69\x0BE7\x0BE8\x0BE9\x0C67\x0C68\x0C69\x0CE7\x0CE8\x0CE9\x0D67\x0D68\x0D69\x0ED1\x0ED2\x0ED3\x0F21\x0F22\x0F23\x01041\x01042\x01043"); // plain mayanmar |
|
147 _LIT(KAppendFormatNumber18, "test1231230\x0661\x0662\x0663\x06F1\x06F2\x06F3\x0967\x0968\x0969\x0E51\x0E52\x0E53\x09E7\x09E8\x09E9\x0A67\x0A68\x0A69\x0AE7\x0AE8\x0AE9\x0B67\x0B68\x0B69\x0BE7\x0BE8\x0BE9\x0C67\x0C68\x0C69\x0CE7\x0CE8\x0CE9\x0D67\x0D68\x0D69\x0ED1\x0ED2\x0ED3\x0F21\x0F22\x0F23\x01041\x01042\x01043\x017E1\x017E2\x017E3"); // plain khmer |
|
148 // End of DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
149 |
|
150 |
|
151 _LIT(KConvertDigits0, "xyz0000123xyz0"); // western to arabic / eastern-arabic / devanagari / thai / bengali / gurmukhi |
|
152 // gujarati / oriya / tamil / telegu / kannada / malayalam / lao / tibetan |
|
153 // mayanmar / khmer |
|
154 _LIT(KConvertDigits0Result1, "xyz\x0660\x0660\x0660\x0660\x0661\x0662\x0663xyz\x0660"); |
|
155 _LIT(KConvertDigits0Result2, "xyz\x06F0\x06F0\x06F0\x06F0\x06F1\x06F2\x06F3xyz\x06F0"); |
|
156 _LIT(KConvertDigits0Result3, "xyz\x0966\x0966\x0966\x0966\x0967\x0968\x0969xyz\x0966"); |
|
157 _LIT(KConvertDigits0Result4, "xyz\x0E50\x0E50\x0E50\x0E50\x0E51\x0E52\x0E53xyz\x0E50"); |
|
158 // DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
159 _LIT(KConvertDigits0Result5, "xyz\x09E6\x09E6\x09E6\x09E6\x09E7\x09E8\x09E9xyz\x09E6"); |
|
160 _LIT(KConvertDigits0Result6, "xyz\x0A66\x0A66\x0A66\x0A66\x0A67\x0A68\x0A69xyz\x0A66"); |
|
161 _LIT(KConvertDigits0Result7, "xyz\x0AE6\x0AE6\x0AE6\x0AE6\x0AE7\x0AE8\x0AE9xyz\x0AE6"); |
|
162 _LIT(KConvertDigits0Result8, "xyz\x0B66\x0B66\x0B66\x0B66\x0B67\x0B68\x0B69xyz\x0B66"); |
|
163 //_LIT(KConvertDigits0Result9, "xyz\x0BE6\x0BE6\x0BE6\x0BE6\x0BE7\x0BE8\x0BE9xyz\x0BE6"); |
|
164 _LIT(KConvertDigits0Result10, "xyz\x0C66\x0C66\x0C66\x0C66\x0C67\x0C68\x0C69xyz\x0C66"); |
|
165 _LIT(KConvertDigits0Result11, "xyz\x0CE6\x0CE6\x0CE6\x0CE6\x0CE7\x0CE8\x0CE9xyz\x0CE6"); |
|
166 _LIT(KConvertDigits0Result12, "xyz\x0D66\x0D66\x0D66\x0D66\x0D67\x0D68\x0D69xyz\x0D66"); |
|
167 _LIT(KConvertDigits0Result13, "xyz\x0ED0\x0ED0\x0ED0\x0ED0\x0ED1\x0ED2\x0ED3xyz\x0ED0"); |
|
168 _LIT(KConvertDigits0Result14, "xyz\x0F20\x0F20\x0F20\x0F20\x0F21\x0F22\x0F23xyz\x0F20"); |
|
169 _LIT(KConvertDigits0Result15, "xyz\x01040\x01040\x01040\x01040\x01041\x01042\x01043xyz\x01040"); |
|
170 _LIT(KConvertDigits0Result16, "xyz\x017E0\x017E0\x017E0\x017E0\x017E1\x017E2\x017E3xyz\x017E0"); |
|
171 // End of DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
172 |
|
173 _LIT(KConvertDigits1, "xyz123xyz"); // western to arabic / eastern-arabic / devanagari / thai / bengali / gurmukhi |
|
174 // gujarati / oriya / tamil / telegu / kannada / malayalam / lao / tibetan |
|
175 // mayanmar / khmer |
|
176 _LIT(KConvertDigits1Result1, "xyz\x0661\x0662\x0663xyz"); |
|
177 _LIT(KConvertDigits1Result2, "xyz\x06F1\x06F2\x06F3xyz"); |
|
178 _LIT(KConvertDigits1Result3, "xyz\x0967\x0968\x0969xyz"); |
|
179 _LIT(KConvertDigits1Result4, "xyz\x0E51\x0E52\x0E53xyz"); |
|
180 // DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
181 _LIT(KConvertDigits1Result5, "xyz\x09E7\x09E8\x09E9xyz"); |
|
182 _LIT(KConvertDigits1Result6, "xyz\x0A67\x0A68\x0A69xyz"); |
|
183 _LIT(KConvertDigits1Result7, "xyz\x0AE7\x0AE8\x0AE9xyz"); |
|
184 _LIT(KConvertDigits1Result8, "xyz\x0B67\x0B68\x0B69xyz"); |
|
185 _LIT(KConvertDigits1Result9, "xyz\x0BE7\x0BE8\x0BE9xyz"); |
|
186 _LIT(KConvertDigits1Result10, "xyz\x0C67\x0C68\x0C69xyz"); |
|
187 _LIT(KConvertDigits1Result11, "xyz\x0CE7\x0CE8\x0CE9xyz"); |
|
188 _LIT(KConvertDigits1Result12, "xyz\x0D67\x0D68\x0D69xyz"); |
|
189 _LIT(KConvertDigits1Result13, "xyz\x0ED1\x0ED2\x0ED3xyz"); |
|
190 _LIT(KConvertDigits1Result14, "xyz\x0F21\x0F22\x0F23xyz"); |
|
191 _LIT(KConvertDigits1Result15, "xyz\x01041\x01042\x01043xyz"); |
|
192 _LIT(KConvertDigits1Result16, "xyz\x017E1\x017E2\x017E3xyz"); |
|
193 // End of DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
194 |
|
195 _LIT(KConvertDigits2, "xyz\x0661\x0662\x0663xyz"); // arabic to western / eastern-arabic/ devanagari/ thai / bengali / gurmukhi |
|
196 // gujarati / oriya / tamil / telegu / kannada / malayalam / lao / tibetan |
|
197 // mayanmar / khmer |
|
198 _LIT(KConvertDigits2Result1, "xyz123xyz"); |
|
199 _LIT(KConvertDigits2Result2, "xyz\x06F1\x06F2\x06F3xyz"); |
|
200 _LIT(KConvertDigits2Result3, "xyz\x0967\x0968\x0969xyz"); |
|
201 _LIT(KConvertDigits2Result4, "xyz\x0E51\x0E52\x0E53xyz"); |
|
202 // DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
203 _LIT(KConvertDigits2Result5, "xyz\x09E7\x09E8\x09E9xyz"); |
|
204 _LIT(KConvertDigits2Result6, "xyz\x0A67\x0A68\x0A69xyz"); |
|
205 _LIT(KConvertDigits2Result7, "xyz\x0AE7\x0AE8\x0AE9xyz"); |
|
206 _LIT(KConvertDigits2Result8, "xyz\x0B67\x0B68\x0B69xyz"); |
|
207 _LIT(KConvertDigits2Result9, "xyz\x0BE7\x0BE8\x0BE9xyz"); |
|
208 _LIT(KConvertDigits2Result10, "xyz\x0C67\x0C68\x0C69xyz"); |
|
209 _LIT(KConvertDigits2Result11, "xyz\x0CE7\x0CE8\x0CE9xyz"); |
|
210 _LIT(KConvertDigits2Result12, "xyz\x0D67\x0D68\x0D69xyz"); |
|
211 _LIT(KConvertDigits2Result13, "xyz\x0ED1\x0ED2\x0ED3xyz"); |
|
212 _LIT(KConvertDigits2Result14, "xyz\x0F21\x0F22\x0F23xyz"); |
|
213 _LIT(KConvertDigits2Result15, "xyz\x01041\x01042\x01043xyz"); |
|
214 _LIT(KConvertDigits2Result16, "xyz\x017E1\x017E2\x017E3xyz"); |
|
215 //End of DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
216 |
|
217 _LIT(KConvertDigits3, "xyz\x06F1\x06F2\x06F3xyz"); // eastern arabic to western / arabic / devenagari/ thai / bengali / gurmukhi |
|
218 // gujarati / oriya / tamil / telegu / kannada / malayalam / lao / tibetan |
|
219 // mayanmar / khmer |
|
220 _LIT(KConvertDigits3Result1, "xyz123xyz"); |
|
221 _LIT(KConvertDigits3Result2, "xyz\x0661\x0662\x0663xyz"); |
|
222 _LIT(KConvertDigits3Result3, "xyz\x0967\x0968\x0969xyz"); |
|
223 _LIT(KConvertDigits3Result4, "xyz\x0E51\x0E52\x0E53xyz"); |
|
224 // DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
225 _LIT(KConvertDigits3Result5, "xyz\x09E7\x09E8\x09E9xyz"); |
|
226 _LIT(KConvertDigits3Result6, "xyz\x0A67\x0A68\x0A69xyz"); |
|
227 _LIT(KConvertDigits3Result7, "xyz\x0AE7\x0AE8\x0AE9xyz"); |
|
228 _LIT(KConvertDigits3Result8, "xyz\x0B67\x0B68\x0B69xyz"); |
|
229 _LIT(KConvertDigits3Result9, "xyz\x0BE7\x0BE8\x0BE9xyz"); |
|
230 _LIT(KConvertDigits3Result10, "xyz\x0C67\x0C68\x0C69xyz"); |
|
231 _LIT(KConvertDigits3Result11, "xyz\x0CE7\x0CE8\x0CE9xyz"); |
|
232 _LIT(KConvertDigits3Result12, "xyz\x0D67\x0D68\x0D69xyz"); |
|
233 _LIT(KConvertDigits3Result13, "xyz\x0ED1\x0ED2\x0ED3xyz"); |
|
234 _LIT(KConvertDigits3Result14, "xyz\x0F21\x0F22\x0F23xyz"); |
|
235 _LIT(KConvertDigits3Result15, "xyz\x01041\x01042\x01043xyz"); |
|
236 _LIT(KConvertDigits3Result16, "xyz\x017E1\x017E2\x017E3xyz"); |
|
237 // End of DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
238 |
|
239 |
|
240 _LIT(KConvertDigits4, "xyz123xyz123xyz"); // western to arabic / eastern-arabic |
|
241 _LIT(KConvertDigits4Result1, "xyz\x0661\x0662\x0663xyz\x0661\x0662\x0663xyz"); |
|
242 _LIT(KConvertDigits4Result2, "xyz\x06F1\x06F2\x06F3xyz\x06F1\x06F2\x06F3xyz"); |
|
243 _LIT(KConvertDigits5, "xyz\x0661\x0662\x0663xyz\x0661\x0662\x0663xyz"); // arabic to western / eastern-arabic |
|
244 _LIT(KConvertDigits5Result1, "xyz123xyz123xyz"); |
|
245 _LIT(KConvertDigits5Result2, "xyz\x06F1\x06F2\x06F3xyz\x06F1\x06F2\x06F3xyz"); |
|
246 _LIT(KConvertDigits6, "xyz\x06F1\x06F2\x06F3xyz\x06F1\x06F2\x06F3xyz"); // eastern arabic to western / arabic |
|
247 _LIT(KConvertDigits6Result1, "xyz123xyz123xyz"); |
|
248 _LIT(KConvertDigits6Result2, "xyz\x0661\x0662\x0663xyz\x0661\x0662\x0663xyz"); |
|
249 |
|
250 _LIT(KConvertDigits7,"xyzxyz"); |
|
251 |
|
252 _LIT(KConvertDigits8, "123"); // western to arabic simple |
|
253 _LIT(KConvertDigits8Result1, "\x0661\x0662\x0663"); |
|
254 |
|
255 _LIT(KConvertDigits9, "35840-1234567890123"); |
|
256 _LIT(KConvertDigits9Result1, "35840-1234567890123"); |
|
257 |
|
258 |
|
259 // DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
260 _LIT(KConvertDigits10, "xyz\x0967\x0968\x0969xyz"); // devanagari to western / arabic / eastern arabic / thai / bengali / gurmukhi |
|
261 // gujarati / oriya / tamil / telegu / kannada / malayalam / lao / tibetan |
|
262 // mayanmar / khmer |
|
263 _LIT(KConvertDigits10Result1, "xyz123xyz"); |
|
264 _LIT(KConvertDigits10Result2, "xyz\x0661\x0662\x0663xyz"); |
|
265 _LIT(KConvertDigits10Result3, "xyz\x06F1\x06F2\x06F3xyz"); |
|
266 _LIT(KConvertDigits10Result4, "xyz\x0E51\x0E52\x0E53xyz"); |
|
267 _LIT(KConvertDigits10Result5, "xyz\x09E7\x09E8\x09E9xyz"); |
|
268 _LIT(KConvertDigits10Result6, "xyz\x0A67\x0A68\x0A69xyz"); |
|
269 _LIT(KConvertDigits10Result7, "xyz\x0AE7\x0AE8\x0AE9xyz"); |
|
270 _LIT(KConvertDigits10Result8, "xyz\x0B67\x0B68\x0B69xyz"); |
|
271 _LIT(KConvertDigits10Result9, "xyz\x0BE7\x0BE8\x0BE9xyz"); |
|
272 _LIT(KConvertDigits10Result10, "xyz\x0C67\x0C68\x0C69xyz"); |
|
273 _LIT(KConvertDigits10Result11, "xyz\x0CE7\x0CE8\x0CE9xyz"); |
|
274 _LIT(KConvertDigits10Result12, "xyz\x0D67\x0D68\x0D69xyz"); |
|
275 _LIT(KConvertDigits10Result13, "xyz\x0ED1\x0ED2\x0ED3xyz"); |
|
276 _LIT(KConvertDigits10Result14, "xyz\x0F21\x0F22\x0F23xyz"); |
|
277 _LIT(KConvertDigits10Result15, "xyz\x01041\x01042\x01043xyz"); |
|
278 _LIT(KConvertDigits10Result16, "xyz\x017E1\x017E2\x017E3xyz"); |
|
279 |
|
280 |
|
281 |
|
282 |
|
283 _LIT(KConvertDigits11, "xyz\x0CE7\x0CE8\x0CE9xyz"); // kannada to western / arabic / eastern arabic / devanagari /thai / bengali / gurmukhi |
|
284 // gujarati / oriya / tamil / telegu / malayalam / lao / tibetan |
|
285 // mayanmar / khmer |
|
286 _LIT(KConvertDigits11Result1, "xyz123xyz"); |
|
287 _LIT(KConvertDigits11Result2, "xyz\x0661\x0662\x0663xyz"); |
|
288 _LIT(KConvertDigits11Result3, "xyz\x06F1\x06F2\x06F3xyz"); |
|
289 _LIT(KConvertDigits11Result4, "xyz\x0967\x0968\x0969xyz"); |
|
290 _LIT(KConvertDigits11Result5, "xyz\x0E51\x0E52\x0E53xyz"); |
|
291 _LIT(KConvertDigits11Result6, "xyz\x09E7\x09E8\x09E9xyz"); |
|
292 _LIT(KConvertDigits11Result7, "xyz\x0A67\x0A68\x0A69xyz"); |
|
293 _LIT(KConvertDigits11Result8, "xyz\x0AE7\x0AE8\x0AE9xyz"); |
|
294 _LIT(KConvertDigits11Result9, "xyz\x0B67\x0B68\x0B69xyz"); |
|
295 _LIT(KConvertDigits11Result10, "xyz\x0BE7\x0BE8\x0BE9xyz"); |
|
296 _LIT(KConvertDigits11Result11, "xyz\x0C67\x0C68\x0C69xyz"); |
|
297 _LIT(KConvertDigits11Result12, "xyz\x0D67\x0D68\x0D69xyz"); |
|
298 _LIT(KConvertDigits11Result13, "xyz\x0ED1\x0ED2\x0ED3xyz"); |
|
299 _LIT(KConvertDigits11Result14, "xyz\x0F21\x0F22\x0F23xyz"); |
|
300 _LIT(KConvertDigits11Result15, "xyz\x01041\x01042\x01043xyz"); |
|
301 _LIT(KConvertDigits11Result16, "xyz\x017E1\x017E2\x017E3xyz"); |
|
302 |
|
303 |
|
304 |
|
305 _LIT(KConvertDigits12, "xyz\x0AE7\x0AE8\x0AE9xyz"); // gujarati to western / arabic / eastern arabic / devanagari /thai / bengali / gurmukhi |
|
306 // oriya / tamil / telegu / kannada / malayalam / lao / tibetan |
|
307 // mayanmar / khmer |
|
308 _LIT(KConvertDigits12Result1, "xyz123xyz"); |
|
309 _LIT(KConvertDigits12Result2, "xyz\x0661\x0662\x0663xyz"); |
|
310 _LIT(KConvertDigits12Result3, "xyz\x06F1\x06F2\x06F3xyz"); |
|
311 _LIT(KConvertDigits12Result4, "xyz\x0967\x0968\x0969xyz"); |
|
312 _LIT(KConvertDigits12Result5, "xyz\x0E51\x0E52\x0E53xyz"); |
|
313 _LIT(KConvertDigits12Result6, "xyz\x09E7\x09E8\x09E9xyz"); |
|
314 _LIT(KConvertDigits12Result7, "xyz\x0A67\x0A68\x0A69xyz"); |
|
315 _LIT(KConvertDigits12Result8, "xyz\x0B67\x0B68\x0B69xyz"); |
|
316 _LIT(KConvertDigits12Result9, "xyz\x0BE7\x0BE8\x0BE9xyz"); |
|
317 _LIT(KConvertDigits12Result10, "xyz\x0C67\x0C68\x0C69xyz"); |
|
318 _LIT(KConvertDigits12Result11, "xyz\x0CE7\x0CE8\x0CE9xyz"); |
|
319 _LIT(KConvertDigits12Result12, "xyz\x0D67\x0D68\x0D69xyz"); |
|
320 _LIT(KConvertDigits12Result13, "xyz\x0ED1\x0ED2\x0ED3xyz"); |
|
321 _LIT(KConvertDigits12Result14, "xyz\x0F21\x0F22\x0F23xyz"); |
|
322 _LIT(KConvertDigits12Result15, "xyz\x01041\x01042\x01043xyz"); |
|
323 _LIT(KConvertDigits12Result16, "xyz\x017E1\x017E2\x017E3xyz"); |
|
324 |
|
325 _LIT(KConvertDigits13, "xyz\x017E1\x017E2\x017E3xyz"); // khmer to mayanmar / tibetan / lao / malayalam / kannada / telugu / tamil / oriya |
|
326 // gujarati / gurmukhi / bengali / thai / devanagari / eastern arabic / arabic / wetern |
|
327 |
|
328 _LIT(KConvertDigits13Result1, "xyz123xyz"); |
|
329 _LIT(KConvertDigits13Result2, "xyz\x0661\x0662\x0663xyz"); |
|
330 _LIT(KConvertDigits13Result3, "xyz\x06F1\x06F2\x06F3xyz"); |
|
331 _LIT(KConvertDigits13Result4, "xyz\x0967\x0968\x0969xyz"); |
|
332 _LIT(KConvertDigits13Result5, "xyz\x0E51\x0E52\x0E53xyz"); |
|
333 _LIT(KConvertDigits13Result6, "xyz\x09E7\x09E8\x09E9xyz"); |
|
334 _LIT(KConvertDigits13Result7, "xyz\x0A67\x0A68\x0A69xyz"); |
|
335 _LIT(KConvertDigits13Result8, "xyz\x0AE7\x0AE8\x0AE9xyz"); |
|
336 _LIT(KConvertDigits13Result9, "xyz\x0B67\x0B68\x0B69xyz"); |
|
337 _LIT(KConvertDigits13Result10, "xyz\x0BE7\x0BE8\x0BE9xyz"); |
|
338 _LIT(KConvertDigits13Result11, "xyz\x0C67\x0C68\x0C69xyz"); |
|
339 _LIT(KConvertDigits13Result12, "xyz\x0CE7\x0CE8\x0CE9xyz"); |
|
340 _LIT(KConvertDigits13Result13, "xyz\x0D67\x0D68\x0D69xyz"); |
|
341 _LIT(KConvertDigits13Result14, "xyz\x0ED1\x0ED2\x0ED3xyz"); |
|
342 _LIT(KConvertDigits13Result15, "xyz\x0F21\x0F22\x0F23xyz"); |
|
343 _LIT(KConvertDigits13Result16, "xyz\x01041\x01042\x01043xyz"); |
|
344 // End of DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
345 |
|
346 |
|
347 |
|
348 |
|
349 _LIT(KFormatString1,"%d"); |
|
350 _LIT(KFormatResult1a,"123"); |
|
351 _LIT(KFormatResult1b,"\x0661\x0662\x0663"); |
|
352 _LIT(KFormatResult1c,"\x06F1\x06F2\x06F3"); |
|
353 _LIT(KFormatResult1d,"\x0967\x0968\x0969"); |
|
354 _LIT(KFormatResult1e,"\x0E51\x0E52\x0E53"); |
|
355 // DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
356 _LIT(KFormatResult1f, "\x09E7\x09E8\x09E9"); |
|
357 _LIT(KFormatResult1g, "\x0A67\x0A68\x0A69"); |
|
358 _LIT(KFormatResult1h, "\x0AE7\x0AE8\x0AE9"); |
|
359 _LIT(KFormatResult1i, "\x0B67\x0B68\x0B69"); |
|
360 _LIT(KFormatResult1j, "\x0BE7\x0BE8\x0BE9"); |
|
361 _LIT(KFormatResult1k, "\x0C67\x0C68\x0C69"); |
|
362 _LIT(KFormatResult1l, "\x0CE7\x0CE8\x0CE9"); |
|
363 _LIT(KFormatResult1m, "\x0D67\x0D68\x0D69"); |
|
364 _LIT(KFormatResult1n, "\x0ED1\x0ED2\x0ED3"); |
|
365 _LIT(KFormatResult1o, "\x0F21\x0F22\x0F23"); |
|
366 _LIT(KFormatResult1p, "\x01041\x01042\x01043"); |
|
367 _LIT(KFormatResult1q, "\x017E1\x017E2\x017E3"); |
|
368 // End of DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
369 |
|
370 _LIT(KFormatString2,"abc%dxyz"); |
|
371 _LIT(KFormatResult2a,"abc123xyz"); |
|
372 _LIT(KFormatResult2b,"abc\x0661\x0662\x0663xyz"); |
|
373 _LIT(KFormatResult2c,"abc\x06F1\x06F2\x06F3xyz"); |
|
374 _LIT(KFormatResult2d,"abc\x0967\x0968\x0969xyz"); |
|
375 _LIT(KFormatResult2e,"abc\x0E51\x0E52\x0E53xyz"); |
|
376 // DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
377 _LIT(KFormatResult2f, "abc\x09E7\x09E8\x09E9xyz"); |
|
378 _LIT(KFormatResult2g, "abc\x0A67\x0A68\x0A69xyz"); |
|
379 _LIT(KFormatResult2h, "abc\x0AE7\x0AE8\x0AE9xyz"); |
|
380 _LIT(KFormatResult2i, "abc\x0B67\x0B68\x0B69xyz"); |
|
381 _LIT(KFormatResult2j, "abc\x0BE7\x0BE8\x0BE9xyz"); |
|
382 _LIT(KFormatResult2k, "abc\x0C67\x0C68\x0C69xyz"); |
|
383 _LIT(KFormatResult2l, "abc\x0CE7\x0CE8\x0CE9xyz"); |
|
384 _LIT(KFormatResult2m, "abc\x0D67\x0D68\x0D69xyz"); |
|
385 _LIT(KFormatResult2n, "abc\x0ED1\x0ED2\x0ED3xyz"); |
|
386 _LIT(KFormatResult2o, "abc\x0F21\x0F22\x0F23xyz"); |
|
387 _LIT(KFormatResult2p, "abc\x01041\x01042\x01043xyz"); |
|
388 _LIT(KFormatResult2q, "abc\x017E1\x017E2\x017E3xyz"); |
|
389 // End of DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
390 |
|
391 _LIT(KFormatString3,"abc%dxyz%dxyz"); |
|
392 _LIT(KFormatResult3a,"abc123xyz456xyz"); |
|
393 _LIT(KFormatResult3b,"abc\x0661\x0662\x0663xyz\x0664\x0665\x0666xyz"); |
|
394 _LIT(KFormatResult3c,"abc\x06F1\x06F2\x06F3xyz\x06F4\x06F5\x06F6xyz"); |
|
395 _LIT(KFormatResult3d,"abc\x0967\x0968\x0969xyz\x096A\x096B\x096Cxyz"); |
|
396 _LIT(KFormatResult3e,"abc\x0E51\x0E52\x0E53xyz\x0E54\x0E55\x0E56xyz"); |
|
397 |
|
398 _LIT(KString, "xyz"); |
|
399 _LIT(KFormatString4,"abc%d%S%d%S"); |
|
400 _LIT(KFormatResult4a,"abc123xyz456xyz"); |
|
401 _LIT(KFormatResult4b,"abc\x0661\x0662\x0663xyz\x0664\x0665\x0666xyz"); |
|
402 _LIT(KFormatResult4c,"abc\x06F1\x06F2\x06F3xyz\x06F4\x06F5\x06F6xyz"); |
|
403 |
|
404 /** |
|
405 * Utility for DEF063276 fix. |
|
406 */ |
|
407 |
|
408 _LIT(KStringToNumber5Filename, "z:\\test\\data\\KStringToNumber5.dat"); |
|
409 |
|
410 static void ReadDesc(TDes& aDes, const TDesC& aFilename, RFs& aFs) |
|
411 { |
|
412 RFile file; |
|
413 TInt err = file.Open(aFs, aFilename, EFileRead); |
|
414 test(err == KErrNone); |
|
415 CleanupClosePushL(file); |
|
416 |
|
417 TPtr8 ptr(reinterpret_cast<TUint8*>(const_cast<TUint16*>(aDes.Ptr())), aDes.MaxSize()); |
|
418 err = file.Read(ptr); |
|
419 test(err == KErrNone); |
|
420 aDes.SetLength(ptr.Length() / sizeof(TText)); |
|
421 CleanupStack::PopAndDestroy(&file); |
|
422 } |
|
423 |
|
424 |
|
425 void TestStringToNumber() |
|
426 { |
|
427 TInt number = 0; |
|
428 TInt length = 0; |
|
429 TDigitType digitType = EDigitTypeUnknown; |
|
430 number = NumberConversion::ConvertFirstNumber(KStringToNumber1, length, digitType); |
|
431 test(number == 123); |
|
432 test(length == 3); |
|
433 test(digitType == EDigitTypeWestern); |
|
434 number = NumberConversion::ConvertFirstNumber(KStringToNumber2, length, digitType); |
|
435 test(number == 123); |
|
436 test(length == 3); |
|
437 test(digitType == EDigitTypeArabicIndic); |
|
438 number = NumberConversion::ConvertFirstNumber(KStringToNumber3, length, digitType); |
|
439 test(number == 123); |
|
440 test(length == 3); |
|
441 test(digitType == EDigitTypeEasternArabicIndic); |
|
442 number = NumberConversion::ConvertFirstNumber(KStringToNumber4, length, digitType); |
|
443 test(number == 123); |
|
444 test(length == 3); |
|
445 test(digitType == EDigitTypeAllTypes); |
|
446 |
|
447 // Fix for DEF063276 |
|
448 RFs fs; |
|
449 test(fs.Connect() == KErrNone); |
|
450 CleanupClosePushL(fs); |
|
451 |
|
452 TBuf<3> buf; |
|
453 ReadDesc(buf, KStringToNumber5Filename, fs); |
|
454 |
|
455 CleanupStack::PopAndDestroy(&fs); |
|
456 |
|
457 number = NumberConversion::ConvertFirstNumber(buf, length, digitType); |
|
458 // End fix |
|
459 |
|
460 test(number == 123); |
|
461 test(length == 3); |
|
462 test(digitType == EDigitTypeAllTypes); |
|
463 number = NumberConversion::ConvertFirstNumber(KStringToNumber6, length, digitType); |
|
464 test(number == 123); |
|
465 test(length == 3); |
|
466 test(digitType == EDigitTypeAllTypes); |
|
467 number = NumberConversion::ConvertFirstNumber(KStringToNumber7, length, digitType); |
|
468 test(number == 123); |
|
469 test(length == 3); |
|
470 test(digitType == EDigitTypeAllTypes); |
|
471 number = NumberConversion::ConvertFirstNumber(KStringToNumber8, length, digitType); |
|
472 test(number == 123); |
|
473 test(length == 3); |
|
474 test(digitType == EDigitTypeDevanagari); |
|
475 number = NumberConversion::ConvertFirstNumber(KStringToNumber9, length, digitType); |
|
476 test(number == 123); |
|
477 test(length == 3); |
|
478 test(digitType == EDigitTypeThai); |
|
479 number = NumberConversion::ConvertFirstNumber(KStringToNumber10, length, digitType); |
|
480 test(number == 123); |
|
481 test(length == 3); |
|
482 test(digitType == EDigitTypeAllTypes); |
|
483 number = NumberConversion::ConvertFirstNumber(KStringToNumber11, length, digitType); |
|
484 test(number == 123); |
|
485 test(length == 3); |
|
486 test(digitType == EDigitTypeAllTypes); |
|
487 number = NumberConversion::ConvertFirstNumber(KStringToNumber12, length, digitType); |
|
488 test(number == 123); |
|
489 test(length == 3); |
|
490 test(digitType == EDigitTypeAllTypes); |
|
491 number = NumberConversion::ConvertFirstNumber(KStringToNumber13, length, digitType); |
|
492 test(number == 123); |
|
493 test(length == 3); |
|
494 test(digitType == EDigitTypeAllTypes); |
|
495 number = NumberConversion::ConvertFirstNumber(KStringToNumber14, length, digitType); |
|
496 test(length == 0); |
|
497 test(digitType == EDigitTypeUnknown); |
|
498 |
|
499 // DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
500 number = NumberConversion::ConvertFirstNumber(KStringToNumber15, length, digitType); |
|
501 test(number == 123); |
|
502 test(length == 3); |
|
503 test(digitType == EDigitTypeBengali); |
|
504 number = NumberConversion::ConvertFirstNumber(KStringToNumber16, length, digitType); |
|
505 test(number == 123); |
|
506 test(length == 3); |
|
507 test(digitType == EDigitTypeGurmukhi); |
|
508 number = NumberConversion::ConvertFirstNumber(KStringToNumber17, length, digitType); |
|
509 test(number == 123); |
|
510 test(length == 3); |
|
511 test(digitType == EDigitTypeGujarati); |
|
512 number = NumberConversion::ConvertFirstNumber(KStringToNumber18, length, digitType); |
|
513 test(number == 123); |
|
514 test(length == 3); |
|
515 test(digitType == EDigitTypeOriya); |
|
516 number = NumberConversion::ConvertFirstNumber(KStringToNumber19, length, digitType); |
|
517 test(number == 123); |
|
518 test(length == 3); |
|
519 test(digitType == EDigitTypeTamil); |
|
520 number = NumberConversion::ConvertFirstNumber(KStringToNumber20, length, digitType); |
|
521 test(number == 123); |
|
522 test(length == 3); |
|
523 test(digitType == EDigitTypeTelugu); |
|
524 number = NumberConversion::ConvertFirstNumber(KStringToNumber21, length, digitType); |
|
525 test(number == 123); |
|
526 test(length == 3); |
|
527 test(digitType == EDigitTypeKannada); |
|
528 number = NumberConversion::ConvertFirstNumber(KStringToNumber22, length, digitType); |
|
529 test(number == 123); |
|
530 test(length == 3); |
|
531 test(digitType == EDigitTypeMalayalam); |
|
532 number = NumberConversion::ConvertFirstNumber(KStringToNumber23, length, digitType); |
|
533 test(number == 123); |
|
534 test(length == 3); |
|
535 test(digitType == EDigitTypeLao); |
|
536 number = NumberConversion::ConvertFirstNumber(KStringToNumber24, length, digitType); |
|
537 test(number == 138); |
|
538 test(length == 3); |
|
539 test(digitType == EDigitTypeTibetan); |
|
540 number = NumberConversion::ConvertFirstNumber(KStringToNumber25, length, digitType); |
|
541 test(number == 123); |
|
542 test(length == 3); |
|
543 test(digitType == EDigitTypeMayanmar); |
|
544 number = NumberConversion::ConvertFirstNumber(KStringToNumber26, length, digitType); |
|
545 test(number == 123); |
|
546 test(length == 3); |
|
547 test(digitType == EDigitTypeKhmer); |
|
548 // End of DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
549 |
|
550 |
|
551 // Test matching a single type only |
|
552 number = NumberConversion::ConvertFirstNumber(KStringToNumber1, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
553 test(number == 123); |
|
554 test(length == 3); |
|
555 test(digitType == EDigitTypeWestern); |
|
556 number = NumberConversion::ConvertFirstNumber(KStringToNumber2, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
557 test(number == 123); |
|
558 test(length == 3); |
|
559 test(digitType == EDigitTypeArabicIndic); |
|
560 number = NumberConversion::ConvertFirstNumber(KStringToNumber3, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
561 test(number == 123); |
|
562 test(length == 3); |
|
563 test(digitType == EDigitTypeEasternArabicIndic); |
|
564 number = NumberConversion::ConvertFirstNumber(KStringToNumber4, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
565 test(number == 12); |
|
566 test(length == 2); |
|
567 test(digitType == EDigitTypeWestern); |
|
568 // Fix for DEF063276 |
|
569 number = NumberConversion::ConvertFirstNumber(buf, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
570 // End fix |
|
571 |
|
572 test(number == 1); |
|
573 test(length == 1); |
|
574 test(digitType == EDigitTypeWestern); |
|
575 number = NumberConversion::ConvertFirstNumber(KStringToNumber6, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
576 test(number == 12); |
|
577 test(length == 2); |
|
578 test(digitType == EDigitTypeArabicIndic); |
|
579 number = NumberConversion::ConvertFirstNumber(KStringToNumber7, length, digitType,NumberConversion:: EMatchSingleTypeOnly); |
|
580 test(number == 1); |
|
581 test(length == 1); |
|
582 test(digitType == EDigitTypeWestern); |
|
583 number = NumberConversion::ConvertFirstNumber(KStringToNumber8, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
584 test(number == 123); |
|
585 test(length == 3); |
|
586 test(digitType == EDigitTypeDevanagari); |
|
587 number = NumberConversion::ConvertFirstNumber(KStringToNumber9, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
588 test(number == 123); |
|
589 test(length == 3); |
|
590 test(digitType == EDigitTypeThai); |
|
591 // DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
592 number = NumberConversion::ConvertFirstNumber(KStringToNumber15, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
593 test(number == 123); |
|
594 test(length == 3); |
|
595 test(digitType == EDigitTypeBengali); |
|
596 number = NumberConversion::ConvertFirstNumber(KStringToNumber16, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
597 test(number == 123); |
|
598 test(length == 3); |
|
599 test(digitType == EDigitTypeGurmukhi); |
|
600 number = NumberConversion::ConvertFirstNumber(KStringToNumber17, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
601 test(number == 123); |
|
602 test(length == 3); |
|
603 test(digitType == EDigitTypeGujarati); |
|
604 number = NumberConversion::ConvertFirstNumber(KStringToNumber18, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
605 test(number == 123); |
|
606 test(length == 3); |
|
607 test(digitType == EDigitTypeOriya); |
|
608 number = NumberConversion::ConvertFirstNumber(KStringToNumber19, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
609 test(number == 123); |
|
610 test(length == 3); |
|
611 test(digitType == EDigitTypeTamil); |
|
612 number = NumberConversion::ConvertFirstNumber(KStringToNumber20, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
613 test(number == 123); |
|
614 test(length == 3); |
|
615 test(digitType == EDigitTypeTelugu); |
|
616 number = NumberConversion::ConvertFirstNumber(KStringToNumber21, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
617 test(number == 123); |
|
618 test(length == 3); |
|
619 test(digitType == EDigitTypeKannada); |
|
620 number = NumberConversion::ConvertFirstNumber(KStringToNumber22, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
621 test(number == 123); |
|
622 test(length == 3); |
|
623 test(digitType == EDigitTypeMalayalam); |
|
624 number = NumberConversion::ConvertFirstNumber(KStringToNumber23, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
625 test(number == 123); |
|
626 test(length == 3); |
|
627 test(digitType == EDigitTypeLao); |
|
628 number = NumberConversion::ConvertFirstNumber(KStringToNumber24, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
629 test(number == 138); |
|
630 test(length == 3); |
|
631 test(digitType == EDigitTypeTibetan); |
|
632 number = NumberConversion::ConvertFirstNumber(KStringToNumber25, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
633 test(number == 123); |
|
634 test(length == 3); |
|
635 test(digitType == EDigitTypeMayanmar); |
|
636 number = NumberConversion::ConvertFirstNumber(KStringToNumber26, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
637 test(number == 123); |
|
638 test(length == 3); |
|
639 test(digitType == EDigitTypeKhmer); |
|
640 // End of DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
641 |
|
642 number = NumberConversion::ConvertFirstNumber(KStringToNumber10, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
643 test(number == 1); |
|
644 test(length == 1); |
|
645 test(digitType == EDigitTypeWestern); |
|
646 number = NumberConversion::ConvertFirstNumber(KStringToNumber11, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
647 test(number == 1); |
|
648 test(length == 1); |
|
649 test(digitType == EDigitTypeWestern); |
|
650 number = NumberConversion::ConvertFirstNumber(KStringToNumber12, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
651 test(number == 1); |
|
652 test(length == 1); |
|
653 test(digitType == EDigitTypeDevanagari); |
|
654 number = NumberConversion::ConvertFirstNumber(KStringToNumber13, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
655 test(number == 1); |
|
656 test(length == 1); |
|
657 test(digitType == EDigitTypeWestern); |
|
658 number = NumberConversion::ConvertFirstNumber(KStringToNumber14, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
659 test(length == 0); |
|
660 test(digitType == EDigitTypeUnknown); |
|
661 |
|
662 // DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
663 number = NumberConversion::ConvertFirstNumber(KStringToNumber27, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
664 test(number == 1); |
|
665 test(length == 1); |
|
666 test(digitType == EDigitTypeWestern); |
|
667 number = NumberConversion::ConvertFirstNumber(KStringToNumber28, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
668 test(number == 1); |
|
669 test(length == 1); |
|
670 test(digitType == EDigitTypeKannada); |
|
671 number = NumberConversion::ConvertFirstNumber(KStringToNumber29, length, digitType, NumberConversion::EMatchSingleTypeOnly); |
|
672 test(number == 1); |
|
673 test(length == 1); |
|
674 test(digitType == EDigitTypeWestern); |
|
675 // End of DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
676 } |
|
677 |
|
678 |
|
679 void TestPositionOfNextNumber() |
|
680 { |
|
681 TDigitType type = EDigitTypeUnknown; |
|
682 TInt position = 0; |
|
683 position = NumberConversion::PositionAndTypeOfNextNumber(KPositionOfNextNumber1, type); |
|
684 test(position == 4); |
|
685 test(type == EDigitTypeWestern); |
|
686 position = NumberConversion::PositionAndTypeOfNextNumber(KPositionOfNextNumber2, type); |
|
687 test(position == 5); |
|
688 test(type == EDigitTypeArabicIndic); |
|
689 position = NumberConversion::PositionAndTypeOfNextNumber(KPositionOfNextNumber3, type); |
|
690 test(position == 6); |
|
691 test(type == EDigitTypeEasternArabicIndic); |
|
692 position = NumberConversion::PositionAndTypeOfNextNumber(KPositionOfNextNumber4, type); |
|
693 test(position == 7); |
|
694 test(type == EDigitTypeDevanagari); |
|
695 position = NumberConversion::PositionAndTypeOfNextNumber(KPositionOfNextNumber5, type); |
|
696 test(position == 8); |
|
697 test(type == EDigitTypeThai); |
|
698 position = NumberConversion::PositionAndTypeOfNextNumber(KPositionOfNextNumber6, type); |
|
699 test(position == KErrNotFound); |
|
700 test(type == EDigitTypeUnknown); |
|
701 |
|
702 // DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
703 position = NumberConversion::PositionAndTypeOfNextNumber(KPositionOfNextNumber7, type); |
|
704 test(position == 9); |
|
705 test(type == EDigitTypeBengali); |
|
706 position = NumberConversion::PositionAndTypeOfNextNumber(KPositionOfNextNumber8, type); |
|
707 test(position == 10); |
|
708 test(type == EDigitTypeGurmukhi); |
|
709 position = NumberConversion::PositionAndTypeOfNextNumber(KPositionOfNextNumber9, type); |
|
710 test(position == 11); |
|
711 test(type == EDigitTypeGujarati); |
|
712 position = NumberConversion::PositionAndTypeOfNextNumber(KPositionOfNextNumber10, type); |
|
713 test(position == 12); |
|
714 test(type == EDigitTypeOriya); |
|
715 position = NumberConversion::PositionAndTypeOfNextNumber(KPositionOfNextNumber11, type); |
|
716 test(position == 13); |
|
717 test(type == EDigitTypeTamil); |
|
718 position = NumberConversion::PositionAndTypeOfNextNumber(KPositionOfNextNumber12, type); |
|
719 test(position == 14); |
|
720 test(type == EDigitTypeTelugu); |
|
721 position = NumberConversion::PositionAndTypeOfNextNumber(KPositionOfNextNumber13, type); |
|
722 test(position == 15); |
|
723 test(type == EDigitTypeKannada); |
|
724 position = NumberConversion::PositionAndTypeOfNextNumber(KPositionOfNextNumber14, type); |
|
725 test(position == 16); |
|
726 test(type == EDigitTypeMalayalam); |
|
727 position = NumberConversion::PositionAndTypeOfNextNumber(KPositionOfNextNumber15, type); |
|
728 test(position == 17); |
|
729 test(type == EDigitTypeLao); |
|
730 position = NumberConversion::PositionAndTypeOfNextNumber(KPositionOfNextNumber16, type); |
|
731 test(position == 18); |
|
732 test(type == EDigitTypeTibetan); |
|
733 position = NumberConversion::PositionAndTypeOfNextNumber(KPositionOfNextNumber17, type); |
|
734 test(position == 19); |
|
735 test(type == EDigitTypeMayanmar); |
|
736 position = NumberConversion::PositionAndTypeOfNextNumber(KPositionOfNextNumber18, type); |
|
737 test(position == 20); |
|
738 test(type == EDigitTypeKhmer); |
|
739 // End of DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
740 |
|
741 |
|
742 } |
|
743 |
|
744 |
|
745 void TestFormatNumber() |
|
746 { |
|
747 TBuf<80> text; |
|
748 NumberConversion::FormatNumber(text, 123, EDigitTypeWestern); |
|
749 test(text.Compare(KFormatNumber1) == 0); |
|
750 NumberConversion::FormatNumber(text, 1230, EDigitTypeWestern); |
|
751 test(text.Compare(KFormatNumber2) == 0); |
|
752 NumberConversion::FormatNumber(text, 123, EDigitTypeArabicIndic); |
|
753 test(text.Compare(KFormatNumber3) == 0); |
|
754 NumberConversion::FormatNumber(text, 123, EDigitTypeEasternArabicIndic); |
|
755 test(text.Compare(KFormatNumber4) == 0); |
|
756 NumberConversion::FormatNumber(text, 123, EDigitTypeDevanagari); |
|
757 test(text.Compare(KFormatNumber5) == 0); |
|
758 NumberConversion::FormatNumber(text, 123, EDigitTypeThai); |
|
759 test(text.Compare(KFormatNumber6) == 0); |
|
760 |
|
761 // DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
762 NumberConversion::FormatNumber(text, 123, EDigitTypeBengali); |
|
763 test(text.Compare(KFormatNumber7) == 0); |
|
764 NumberConversion::FormatNumber(text, 123, EDigitTypeGurmukhi); |
|
765 test(text.Compare(KFormatNumber8) == 0); |
|
766 NumberConversion::FormatNumber(text, 123, EDigitTypeGujarati); |
|
767 test(text.Compare(KFormatNumber9) == 0); |
|
768 NumberConversion::FormatNumber(text, 123, EDigitTypeOriya); |
|
769 test(text.Compare(KFormatNumber10) == 0); |
|
770 NumberConversion::FormatNumber(text, 123, EDigitTypeTamil); |
|
771 test(text.Compare(KFormatNumber11) == 0); |
|
772 NumberConversion::FormatNumber(text, 123, EDigitTypeTelugu); |
|
773 test(text.Compare(KFormatNumber12) == 0); |
|
774 NumberConversion::FormatNumber(text, 123, EDigitTypeKannada); |
|
775 test(text.Compare(KFormatNumber13) == 0); |
|
776 NumberConversion::FormatNumber(text, 123, EDigitTypeMalayalam); |
|
777 test(text.Compare(KFormatNumber14) == 0); |
|
778 NumberConversion::FormatNumber(text, 123, EDigitTypeLao); |
|
779 test(text.Compare(KFormatNumber15) == 0); |
|
780 NumberConversion::FormatNumber(text, 123, EDigitTypeTibetan); |
|
781 test(text.Compare(KFormatNumber16) == 0); |
|
782 NumberConversion::FormatNumber(text, 123, EDigitTypeMayanmar); |
|
783 test(text.Compare(KFormatNumber17) == 0); |
|
784 NumberConversion::FormatNumber(text, 123, EDigitTypeKhmer); |
|
785 test(text.Compare(KFormatNumber18) == 0); |
|
786 // End of DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
787 |
|
788 } |
|
789 |
|
790 void TestAppendFormatNumber() |
|
791 { |
|
792 TBuf<80> text(_L("test")); |
|
793 NumberConversion::AppendFormatNumber(text, 123, EDigitTypeWestern); |
|
794 test(text.Compare(KAppendFormatNumber1) == 0); |
|
795 NumberConversion::AppendFormatNumber(text, 1230, EDigitTypeWestern); |
|
796 test(text.Compare(KAppendFormatNumber2) == 0); |
|
797 NumberConversion::AppendFormatNumber(text, 123, EDigitTypeArabicIndic); |
|
798 test(text.Compare(KAppendFormatNumber3) == 0); |
|
799 NumberConversion::AppendFormatNumber(text, 123, EDigitTypeEasternArabicIndic); |
|
800 test(text.Compare(KAppendFormatNumber4) == 0); |
|
801 NumberConversion::AppendFormatNumber(text, 123, EDigitTypeDevanagari); |
|
802 test(text.Compare(KAppendFormatNumber5) == 0); |
|
803 NumberConversion::AppendFormatNumber(text, 123, EDigitTypeThai); |
|
804 test(text.Compare(KAppendFormatNumber6) == 0); |
|
805 |
|
806 // DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
807 NumberConversion::AppendFormatNumber(text, 123, EDigitTypeBengali); |
|
808 test(text.Compare(KAppendFormatNumber7) == 0); |
|
809 NumberConversion::AppendFormatNumber(text, 123, EDigitTypeGurmukhi); |
|
810 test(text.Compare(KAppendFormatNumber8) == 0); |
|
811 NumberConversion::AppendFormatNumber(text, 123, EDigitTypeGujarati); |
|
812 test(text.Compare(KAppendFormatNumber9) == 0); |
|
813 |
|
814 NumberConversion::AppendFormatNumber(text, 123, EDigitTypeOriya); |
|
815 test(text.Compare(KAppendFormatNumber10) == 0); |
|
816 NumberConversion::AppendFormatNumber(text, 123, EDigitTypeTamil); |
|
817 test(text.Compare(KAppendFormatNumber11) == 0); |
|
818 NumberConversion::AppendFormatNumber(text, 123, EDigitTypeTelugu); |
|
819 test(text.Compare(KAppendFormatNumber12) == 0); |
|
820 NumberConversion::AppendFormatNumber(text, 123, EDigitTypeKannada); |
|
821 test(text.Compare(KAppendFormatNumber13) == 0); |
|
822 NumberConversion::AppendFormatNumber(text, 123, EDigitTypeMalayalam); |
|
823 test(text.Compare(KAppendFormatNumber14) == 0); |
|
824 NumberConversion::AppendFormatNumber(text, 123, EDigitTypeLao); |
|
825 test(text.Compare(KAppendFormatNumber15) == 0); |
|
826 NumberConversion::AppendFormatNumber(text, 123, EDigitTypeTibetan); |
|
827 test(text.Compare(KAppendFormatNumber16) == 0); |
|
828 NumberConversion::AppendFormatNumber(text, 123, EDigitTypeMayanmar); |
|
829 test(text.Compare(KAppendFormatNumber17) == 0); |
|
830 NumberConversion::AppendFormatNumber(text, 123, EDigitTypeKhmer); |
|
831 test(text.Compare(KAppendFormatNumber18) == 0); |
|
832 // End of DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
833 } |
|
834 |
|
835 void TestConvertDigits() |
|
836 { |
|
837 TBuf<80> text; |
|
838 |
|
839 text = KConvertDigits0; |
|
840 NumberConversion::ConvertDigits(text, EDigitTypeArabicIndic); |
|
841 test(text.Compare(KConvertDigits0Result1) == 0); |
|
842 NumberConversion::ConvertDigits(text, EDigitTypeEasternArabicIndic); |
|
843 test(text.Compare(KConvertDigits0Result2) == 0); |
|
844 NumberConversion::ConvertDigits(text, EDigitTypeDevanagari); |
|
845 test(text.Compare(KConvertDigits0Result3) == 0); |
|
846 NumberConversion::ConvertDigits(text, EDigitTypeThai); |
|
847 test(text.Compare(KConvertDigits0Result4) == 0); |
|
848 NumberConversion::ConvertDigits (text,EDigitTypeWestern); |
|
849 test(text.Compare(KConvertDigits0) == 0); |
|
850 // DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
851 NumberConversion::ConvertDigits(text, EDigitTypeBengali); |
|
852 test(text.Compare(KConvertDigits0Result5) == 0); |
|
853 NumberConversion::ConvertDigits(text, EDigitTypeGurmukhi); |
|
854 test(text.Compare(KConvertDigits0Result6) == 0); |
|
855 NumberConversion::ConvertDigits(text, EDigitTypeGujarati); |
|
856 test(text.Compare(KConvertDigits0Result7) == 0); |
|
857 NumberConversion::ConvertDigits(text, EDigitTypeOriya); |
|
858 test(text.Compare(KConvertDigits0Result8) == 0); |
|
859 /* Can't test TAMIL DIGIT 0 because it wasn't introduced until Unicode 4.1 |
|
860 We currently use Unicode 2.0, and hence can only test this once we upgrade to 4.1 or higher |
|
861 NumberConversion::ConvertDigits(text, EDigitTypeTamil); |
|
862 test(text.Compare(KConvertDigits0Result9) == 0);*/ |
|
863 NumberConversion::ConvertDigits(text, EDigitTypeTelugu); |
|
864 test(text.Compare(KConvertDigits0Result10) == 0); |
|
865 NumberConversion::ConvertDigits(text, EDigitTypeKannada); |
|
866 test(text.Compare(KConvertDigits0Result11) == 0); |
|
867 NumberConversion::ConvertDigits(text, EDigitTypeMalayalam); |
|
868 test(text.Compare(KConvertDigits0Result12) == 0); |
|
869 NumberConversion::ConvertDigits(text, EDigitTypeLao); |
|
870 test(text.Compare(KConvertDigits0Result13) == 0); |
|
871 NumberConversion::ConvertDigits(text, EDigitTypeTibetan); |
|
872 test(text.Compare(KConvertDigits0Result14) == 0); |
|
873 NumberConversion::ConvertDigits(text, EDigitTypeMayanmar); |
|
874 test(text.Compare(KConvertDigits0Result15) == 0); |
|
875 NumberConversion::ConvertDigits(text, EDigitTypeKhmer); |
|
876 test(text.Compare(KConvertDigits0Result16) == 0); |
|
877 // End of DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
878 |
|
879 text = KConvertDigits1; |
|
880 NumberConversion::ConvertDigits(text, EDigitTypeArabicIndic); |
|
881 test(text.Compare(KConvertDigits1Result1) == 0); |
|
882 text = KConvertDigits1; |
|
883 NumberConversion::ConvertDigits(text, EDigitTypeEasternArabicIndic); |
|
884 test(text.Compare(KConvertDigits1Result2) == 0); |
|
885 text = KConvertDigits1; |
|
886 NumberConversion::ConvertDigits(text, EDigitTypeDevanagari); |
|
887 test(text.Compare(KConvertDigits1Result3) == 0); |
|
888 text = KConvertDigits1; |
|
889 NumberConversion::ConvertDigits(text, EDigitTypeThai); |
|
890 test(text.Compare(KConvertDigits1Result4) == 0); |
|
891 text = KConvertDigits1; |
|
892 // DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
893 NumberConversion::ConvertDigits(text, EDigitTypeBengali); |
|
894 test(text.Compare(KConvertDigits1Result5) == 0); |
|
895 text = KConvertDigits1; |
|
896 NumberConversion::ConvertDigits(text, EDigitTypeGurmukhi); |
|
897 test(text.Compare(KConvertDigits1Result6) == 0); |
|
898 text = KConvertDigits1; |
|
899 NumberConversion::ConvertDigits(text, EDigitTypeGujarati); |
|
900 test(text.Compare(KConvertDigits1Result7) == 0); |
|
901 text = KConvertDigits1; |
|
902 NumberConversion::ConvertDigits(text, EDigitTypeOriya); |
|
903 test(text.Compare(KConvertDigits1Result8) == 0); |
|
904 text = KConvertDigits1; |
|
905 NumberConversion::ConvertDigits(text, EDigitTypeTamil); |
|
906 test(text.Compare(KConvertDigits1Result9) == 0); |
|
907 text = KConvertDigits1; |
|
908 NumberConversion::ConvertDigits(text, EDigitTypeTelugu); |
|
909 test(text.Compare(KConvertDigits1Result10) == 0); |
|
910 text = KConvertDigits1; |
|
911 NumberConversion::ConvertDigits(text, EDigitTypeKannada); |
|
912 test(text.Compare(KConvertDigits1Result11) == 0); |
|
913 text = KConvertDigits1; |
|
914 NumberConversion::ConvertDigits(text, EDigitTypeMalayalam); |
|
915 test(text.Compare(KConvertDigits1Result12) == 0); |
|
916 text = KConvertDigits1; |
|
917 NumberConversion::ConvertDigits(text, EDigitTypeLao); |
|
918 test(text.Compare(KConvertDigits1Result13) == 0); |
|
919 text = KConvertDigits1; |
|
920 NumberConversion::ConvertDigits(text, EDigitTypeTibetan); |
|
921 test(text.Compare(KConvertDigits1Result14) == 0); |
|
922 text = KConvertDigits1; |
|
923 NumberConversion::ConvertDigits(text, EDigitTypeMayanmar); |
|
924 test(text.Compare(KConvertDigits1Result15) == 0); |
|
925 text = KConvertDigits1; |
|
926 NumberConversion::ConvertDigits(text, EDigitTypeKhmer); |
|
927 test(text.Compare(KConvertDigits1Result16) == 0); |
|
928 // End of DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
929 |
|
930 text = KConvertDigits2; |
|
931 NumberConversion::ConvertDigits(text, EDigitTypeWestern); |
|
932 test(text.Compare(KConvertDigits2Result1) == 0); |
|
933 text = KConvertDigits2; |
|
934 NumberConversion::ConvertDigits(text, EDigitTypeEasternArabicIndic); |
|
935 test(text.Compare(KConvertDigits2Result2) == 0); |
|
936 text = KConvertDigits2; |
|
937 NumberConversion::ConvertDigits(text, EDigitTypeDevanagari); |
|
938 test(text.Compare(KConvertDigits2Result3) == 0); |
|
939 text = KConvertDigits2; |
|
940 NumberConversion::ConvertDigits(text, EDigitTypeThai); |
|
941 test(text.Compare(KConvertDigits2Result4) == 0); |
|
942 text = KConvertDigits2; |
|
943 // DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
944 NumberConversion::ConvertDigits(text, EDigitTypeBengali); |
|
945 test(text.Compare(KConvertDigits2Result5) == 0); |
|
946 text = KConvertDigits2; |
|
947 NumberConversion::ConvertDigits(text, EDigitTypeGurmukhi); |
|
948 test(text.Compare(KConvertDigits2Result6) == 0); |
|
949 text = KConvertDigits2; |
|
950 NumberConversion::ConvertDigits(text, EDigitTypeGujarati); |
|
951 test(text.Compare(KConvertDigits2Result7) == 0); |
|
952 text = KConvertDigits2; |
|
953 NumberConversion::ConvertDigits(text, EDigitTypeOriya); |
|
954 test(text.Compare(KConvertDigits2Result8) == 0); |
|
955 text = KConvertDigits2; |
|
956 NumberConversion::ConvertDigits(text, EDigitTypeTamil); |
|
957 test(text.Compare(KConvertDigits2Result9) == 0); |
|
958 text = KConvertDigits2; |
|
959 NumberConversion::ConvertDigits(text, EDigitTypeTelugu); |
|
960 test(text.Compare(KConvertDigits2Result10) == 0); |
|
961 text = KConvertDigits2; |
|
962 NumberConversion::ConvertDigits(text, EDigitTypeKannada); |
|
963 test(text.Compare(KConvertDigits2Result11) == 0); |
|
964 text = KConvertDigits2; |
|
965 NumberConversion::ConvertDigits(text, EDigitTypeMalayalam); |
|
966 test(text.Compare(KConvertDigits2Result12) == 0); |
|
967 text = KConvertDigits2; |
|
968 NumberConversion::ConvertDigits(text, EDigitTypeLao); |
|
969 test(text.Compare(KConvertDigits2Result13) == 0); |
|
970 text = KConvertDigits2; |
|
971 NumberConversion::ConvertDigits(text, EDigitTypeTibetan); |
|
972 test(text.Compare(KConvertDigits2Result14) == 0); |
|
973 text = KConvertDigits2; |
|
974 NumberConversion::ConvertDigits(text, EDigitTypeMayanmar); |
|
975 test(text.Compare(KConvertDigits2Result15) == 0); |
|
976 text = KConvertDigits2; |
|
977 NumberConversion::ConvertDigits(text, EDigitTypeKhmer); |
|
978 test(text.Compare(KConvertDigits2Result16) == 0); |
|
979 // End of DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
980 |
|
981 text = KConvertDigits3; |
|
982 NumberConversion::ConvertDigits(text, EDigitTypeWestern); |
|
983 test(text.Compare(KConvertDigits3Result1) == 0); |
|
984 text = KConvertDigits3; |
|
985 NumberConversion::ConvertDigits(text, EDigitTypeArabicIndic); |
|
986 test(text.Compare(KConvertDigits3Result2) == 0); |
|
987 text = KConvertDigits3; |
|
988 NumberConversion::ConvertDigits(text, EDigitTypeDevanagari); |
|
989 test(text.Compare(KConvertDigits3Result3) == 0); |
|
990 text = KConvertDigits3; |
|
991 NumberConversion::ConvertDigits(text, EDigitTypeThai); |
|
992 test(text.Compare(KConvertDigits3Result4) == 0); |
|
993 text = KConvertDigits3; |
|
994 // DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
995 NumberConversion::ConvertDigits(text, EDigitTypeBengali); |
|
996 test(text.Compare(KConvertDigits3Result5) == 0); |
|
997 text = KConvertDigits3; |
|
998 NumberConversion::ConvertDigits(text, EDigitTypeGurmukhi); |
|
999 test(text.Compare(KConvertDigits3Result6) == 0); |
|
1000 text = KConvertDigits3; |
|
1001 NumberConversion::ConvertDigits(text, EDigitTypeGujarati); |
|
1002 test(text.Compare(KConvertDigits3Result7) == 0); |
|
1003 text = KConvertDigits3; |
|
1004 NumberConversion::ConvertDigits(text, EDigitTypeOriya); |
|
1005 test(text.Compare(KConvertDigits3Result8) == 0); |
|
1006 text = KConvertDigits3; |
|
1007 NumberConversion::ConvertDigits(text, EDigitTypeTamil); |
|
1008 test(text.Compare(KConvertDigits3Result9) == 0); |
|
1009 text = KConvertDigits3; |
|
1010 NumberConversion::ConvertDigits(text, EDigitTypeTelugu); |
|
1011 test(text.Compare(KConvertDigits3Result10) == 0); |
|
1012 text = KConvertDigits3; |
|
1013 NumberConversion::ConvertDigits(text, EDigitTypeKannada); |
|
1014 test(text.Compare(KConvertDigits3Result11) == 0); |
|
1015 text = KConvertDigits3; |
|
1016 NumberConversion::ConvertDigits(text, EDigitTypeMalayalam); |
|
1017 test(text.Compare(KConvertDigits3Result12) == 0); |
|
1018 text = KConvertDigits3; |
|
1019 NumberConversion::ConvertDigits(text, EDigitTypeLao); |
|
1020 test(text.Compare(KConvertDigits3Result13) == 0); |
|
1021 text = KConvertDigits3; |
|
1022 NumberConversion::ConvertDigits(text, EDigitTypeTibetan); |
|
1023 test(text.Compare(KConvertDigits3Result14) == 0); |
|
1024 text = KConvertDigits3; |
|
1025 NumberConversion::ConvertDigits(text, EDigitTypeMayanmar); |
|
1026 test(text.Compare(KConvertDigits3Result15) == 0); |
|
1027 text = KConvertDigits3; |
|
1028 NumberConversion::ConvertDigits(text, EDigitTypeKhmer); |
|
1029 test(text.Compare(KConvertDigits3Result16) == 0); |
|
1030 // End of DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
1031 |
|
1032 text = KConvertDigits4; |
|
1033 NumberConversion::ConvertDigits(text, EDigitTypeArabicIndic); |
|
1034 test(text.Compare(KConvertDigits4Result1) == 0); |
|
1035 text = KConvertDigits4; |
|
1036 NumberConversion::ConvertDigits(text, EDigitTypeEasternArabicIndic); |
|
1037 test(text.Compare(KConvertDigits4Result2) == 0); |
|
1038 |
|
1039 text = KConvertDigits5; |
|
1040 NumberConversion::ConvertDigits(text, EDigitTypeWestern); |
|
1041 test(text.Compare(KConvertDigits5Result1) == 0); |
|
1042 text = KConvertDigits5; |
|
1043 NumberConversion::ConvertDigits(text, EDigitTypeEasternArabicIndic); |
|
1044 test(text.Compare(KConvertDigits5Result2) == 0); |
|
1045 |
|
1046 text = KConvertDigits6; |
|
1047 NumberConversion::ConvertDigits(text, EDigitTypeWestern); |
|
1048 test(text.Compare(KConvertDigits6Result1) == 0); |
|
1049 text = KConvertDigits6; |
|
1050 NumberConversion::ConvertDigits(text, EDigitTypeArabicIndic); |
|
1051 test(text.Compare(KConvertDigits6Result2) == 0); |
|
1052 |
|
1053 text = KConvertDigits7; |
|
1054 NumberConversion::ConvertDigits(text, EDigitTypeWestern); |
|
1055 test(text.Compare(KConvertDigits7) == 0); |
|
1056 |
|
1057 text = KConvertDigits8; |
|
1058 NumberConversion::ConvertDigits(text, EDigitTypeArabicIndic); |
|
1059 test(text.Compare(KConvertDigits8Result1) == 0); |
|
1060 |
|
1061 text = KConvertDigits9; |
|
1062 NumberConversion::ConvertDigits(text, EDigitTypeWestern); |
|
1063 test(text.Compare(KConvertDigits9Result1) == 0); |
|
1064 |
|
1065 // DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
1066 text = KConvertDigits10; |
|
1067 NumberConversion::ConvertDigits(text, EDigitTypeWestern); |
|
1068 test(text.Compare(KConvertDigits10Result1) == 0); |
|
1069 text = KConvertDigits10; |
|
1070 NumberConversion::ConvertDigits(text, EDigitTypeArabicIndic); |
|
1071 test(text.Compare(KConvertDigits10Result2) == 0); |
|
1072 text = KConvertDigits10; |
|
1073 NumberConversion::ConvertDigits(text, EDigitTypeEasternArabicIndic); |
|
1074 test(text.Compare(KConvertDigits10Result3) == 0); |
|
1075 text = KConvertDigits10; |
|
1076 NumberConversion::ConvertDigits(text, EDigitTypeThai); |
|
1077 test(text.Compare(KConvertDigits10Result4) == 0); |
|
1078 text = KConvertDigits10; |
|
1079 NumberConversion::ConvertDigits(text, EDigitTypeBengali); |
|
1080 test(text.Compare(KConvertDigits10Result5) == 0); |
|
1081 text = KConvertDigits10; |
|
1082 NumberConversion::ConvertDigits(text, EDigitTypeGurmukhi); |
|
1083 test(text.Compare(KConvertDigits10Result6) == 0); |
|
1084 text = KConvertDigits10; |
|
1085 NumberConversion::ConvertDigits(text, EDigitTypeGujarati); |
|
1086 test(text.Compare(KConvertDigits10Result7) == 0); |
|
1087 text = KConvertDigits10; |
|
1088 NumberConversion::ConvertDigits(text, EDigitTypeOriya); |
|
1089 test(text.Compare(KConvertDigits10Result8) == 0); |
|
1090 text = KConvertDigits10; |
|
1091 NumberConversion::ConvertDigits(text, EDigitTypeTamil); |
|
1092 test(text.Compare(KConvertDigits10Result9) == 0); |
|
1093 text = KConvertDigits10; |
|
1094 NumberConversion::ConvertDigits(text, EDigitTypeTelugu); |
|
1095 test(text.Compare(KConvertDigits10Result10) == 0); |
|
1096 text = KConvertDigits10; |
|
1097 NumberConversion::ConvertDigits(text, EDigitTypeKannada); |
|
1098 test(text.Compare(KConvertDigits10Result11) == 0); |
|
1099 text = KConvertDigits10; |
|
1100 NumberConversion::ConvertDigits(text, EDigitTypeMalayalam); |
|
1101 test(text.Compare(KConvertDigits10Result12) == 0); |
|
1102 text = KConvertDigits10; |
|
1103 NumberConversion::ConvertDigits(text, EDigitTypeLao); |
|
1104 test(text.Compare(KConvertDigits10Result13) == 0); |
|
1105 text = KConvertDigits10; |
|
1106 NumberConversion::ConvertDigits(text, EDigitTypeTibetan); |
|
1107 test(text.Compare(KConvertDigits10Result14) == 0); |
|
1108 text = KConvertDigits10; |
|
1109 NumberConversion::ConvertDigits(text, EDigitTypeMayanmar); |
|
1110 test(text.Compare(KConvertDigits10Result15) == 0); |
|
1111 text = KConvertDigits10; |
|
1112 NumberConversion::ConvertDigits(text, EDigitTypeKhmer); |
|
1113 test(text.Compare(KConvertDigits10Result16) == 0); |
|
1114 |
|
1115 text = KConvertDigits11; |
|
1116 NumberConversion::ConvertDigits(text, EDigitTypeWestern); |
|
1117 test(text.Compare(KConvertDigits11Result1) == 0); |
|
1118 text = KConvertDigits11; |
|
1119 NumberConversion::ConvertDigits(text, EDigitTypeArabicIndic); |
|
1120 test(text.Compare(KConvertDigits11Result2) == 0); |
|
1121 text = KConvertDigits11; |
|
1122 NumberConversion::ConvertDigits(text, EDigitTypeEasternArabicIndic); |
|
1123 test(text.Compare(KConvertDigits11Result3) == 0); |
|
1124 text = KConvertDigits11; |
|
1125 NumberConversion::ConvertDigits(text, EDigitTypeDevanagari); |
|
1126 test(text.Compare(KConvertDigits11Result4) == 0); |
|
1127 text = KConvertDigits11; |
|
1128 NumberConversion::ConvertDigits(text, EDigitTypeThai); |
|
1129 test(text.Compare(KConvertDigits11Result5) == 0); |
|
1130 text = KConvertDigits11; |
|
1131 NumberConversion::ConvertDigits(text, EDigitTypeBengali); |
|
1132 test(text.Compare(KConvertDigits11Result6) == 0); |
|
1133 text = KConvertDigits11; |
|
1134 NumberConversion::ConvertDigits(text, EDigitTypeGurmukhi); |
|
1135 test(text.Compare(KConvertDigits11Result7) == 0); |
|
1136 text = KConvertDigits11; |
|
1137 NumberConversion::ConvertDigits(text, EDigitTypeGujarati); |
|
1138 test(text.Compare(KConvertDigits11Result8) == 0); |
|
1139 text = KConvertDigits11; |
|
1140 NumberConversion::ConvertDigits(text, EDigitTypeOriya); |
|
1141 test(text.Compare(KConvertDigits11Result9) == 0); |
|
1142 text = KConvertDigits11; |
|
1143 NumberConversion::ConvertDigits(text, EDigitTypeTamil); |
|
1144 test(text.Compare(KConvertDigits11Result10) == 0); |
|
1145 text = KConvertDigits11; |
|
1146 NumberConversion::ConvertDigits(text, EDigitTypeTelugu); |
|
1147 test(text.Compare(KConvertDigits11Result11) == 0); |
|
1148 text = KConvertDigits11; |
|
1149 NumberConversion::ConvertDigits(text, EDigitTypeMalayalam); |
|
1150 test(text.Compare(KConvertDigits11Result12) == 0); |
|
1151 text = KConvertDigits11; |
|
1152 NumberConversion::ConvertDigits(text, EDigitTypeLao); |
|
1153 test(text.Compare(KConvertDigits11Result13) == 0); |
|
1154 text = KConvertDigits11; |
|
1155 NumberConversion::ConvertDigits(text, EDigitTypeTibetan); |
|
1156 test(text.Compare(KConvertDigits11Result14) == 0); |
|
1157 text = KConvertDigits11; |
|
1158 NumberConversion::ConvertDigits(text, EDigitTypeMayanmar); |
|
1159 test(text.Compare(KConvertDigits11Result15) == 0); |
|
1160 text = KConvertDigits11; |
|
1161 NumberConversion::ConvertDigits(text, EDigitTypeKhmer); |
|
1162 test(text.Compare(KConvertDigits11Result16) == 0); |
|
1163 |
|
1164 text = KConvertDigits12; |
|
1165 NumberConversion::ConvertDigits(text, EDigitTypeWestern); |
|
1166 test(text.Compare(KConvertDigits12Result1) == 0); |
|
1167 text = KConvertDigits12; |
|
1168 NumberConversion::ConvertDigits(text, EDigitTypeArabicIndic); |
|
1169 test(text.Compare(KConvertDigits12Result2) == 0); |
|
1170 text = KConvertDigits12; |
|
1171 NumberConversion::ConvertDigits(text, EDigitTypeEasternArabicIndic); |
|
1172 test(text.Compare(KConvertDigits12Result3) == 0); |
|
1173 text = KConvertDigits12; |
|
1174 NumberConversion::ConvertDigits(text, EDigitTypeDevanagari); |
|
1175 test(text.Compare(KConvertDigits12Result4) == 0); |
|
1176 text = KConvertDigits12; |
|
1177 NumberConversion::ConvertDigits(text, EDigitTypeThai); |
|
1178 test(text.Compare(KConvertDigits12Result5) == 0); |
|
1179 text = KConvertDigits12; |
|
1180 NumberConversion::ConvertDigits(text, EDigitTypeBengali); |
|
1181 test(text.Compare(KConvertDigits12Result6) == 0); |
|
1182 text = KConvertDigits12; |
|
1183 NumberConversion::ConvertDigits(text, EDigitTypeGurmukhi); |
|
1184 test(text.Compare(KConvertDigits12Result7) == 0); |
|
1185 text = KConvertDigits12; |
|
1186 NumberConversion::ConvertDigits(text, EDigitTypeOriya); |
|
1187 test(text.Compare(KConvertDigits12Result8) == 0); |
|
1188 text = KConvertDigits12; |
|
1189 NumberConversion::ConvertDigits(text, EDigitTypeTamil); |
|
1190 test(text.Compare(KConvertDigits12Result9) == 0); |
|
1191 text = KConvertDigits12; |
|
1192 NumberConversion::ConvertDigits(text, EDigitTypeTelugu); |
|
1193 test(text.Compare(KConvertDigits12Result10) == 0); |
|
1194 text = KConvertDigits12; |
|
1195 NumberConversion::ConvertDigits(text, EDigitTypeKannada); |
|
1196 test(text.Compare(KConvertDigits12Result11) == 0); |
|
1197 text = KConvertDigits12; |
|
1198 NumberConversion::ConvertDigits(text, EDigitTypeMalayalam); |
|
1199 test(text.Compare(KConvertDigits12Result12) == 0); |
|
1200 text = KConvertDigits12; |
|
1201 NumberConversion::ConvertDigits(text, EDigitTypeLao); |
|
1202 test(text.Compare(KConvertDigits12Result13) == 0); |
|
1203 text = KConvertDigits12; |
|
1204 NumberConversion::ConvertDigits(text, EDigitTypeTibetan); |
|
1205 test(text.Compare(KConvertDigits12Result14) == 0); |
|
1206 text = KConvertDigits12; |
|
1207 NumberConversion::ConvertDigits(text, EDigitTypeMayanmar); |
|
1208 test(text.Compare(KConvertDigits12Result15) == 0); |
|
1209 text = KConvertDigits12; |
|
1210 NumberConversion::ConvertDigits(text, EDigitTypeKhmer); |
|
1211 test(text.Compare(KConvertDigits12Result16) == 0); |
|
1212 |
|
1213 text = KConvertDigits13; |
|
1214 NumberConversion::ConvertDigits(text, EDigitTypeMayanmar); |
|
1215 test(text.Compare(KConvertDigits13Result16) == 0); |
|
1216 NumberConversion::ConvertDigits(text, EDigitTypeTibetan); |
|
1217 test(text.Compare(KConvertDigits13Result15) == 0); |
|
1218 NumberConversion::ConvertDigits(text, EDigitTypeLao); |
|
1219 test(text.Compare(KConvertDigits13Result14) == 0); |
|
1220 NumberConversion::ConvertDigits(text, EDigitTypeMalayalam); |
|
1221 test(text.Compare(KConvertDigits13Result13) == 0); |
|
1222 NumberConversion::ConvertDigits(text, EDigitTypeKannada); |
|
1223 test(text.Compare(KConvertDigits13Result12) == 0); |
|
1224 NumberConversion::ConvertDigits(text, EDigitTypeTelugu); |
|
1225 test(text.Compare(KConvertDigits13Result11) == 0); |
|
1226 NumberConversion::ConvertDigits(text, EDigitTypeTamil); |
|
1227 test(text.Compare(KConvertDigits13Result10) == 0); |
|
1228 NumberConversion::ConvertDigits(text, EDigitTypeOriya); |
|
1229 test(text.Compare(KConvertDigits13Result9) == 0); |
|
1230 NumberConversion::ConvertDigits(text, EDigitTypeGujarati); |
|
1231 test(text.Compare(KConvertDigits13Result8) == 0); |
|
1232 NumberConversion::ConvertDigits(text, EDigitTypeGurmukhi); |
|
1233 test(text.Compare(KConvertDigits13Result7) == 0); |
|
1234 NumberConversion::ConvertDigits(text, EDigitTypeBengali); |
|
1235 test(text.Compare(KConvertDigits13Result6) == 0); |
|
1236 NumberConversion::ConvertDigits(text, EDigitTypeThai); |
|
1237 test(text.Compare(KConvertDigits13Result5) == 0); |
|
1238 NumberConversion::ConvertDigits(text, EDigitTypeDevanagari); |
|
1239 test(text.Compare(KConvertDigits13Result4) == 0); |
|
1240 NumberConversion::ConvertDigits(text, EDigitTypeEasternArabicIndic); |
|
1241 test(text.Compare(KConvertDigits13Result3) == 0); |
|
1242 NumberConversion::ConvertDigits(text, EDigitTypeArabicIndic); |
|
1243 test(text.Compare(KConvertDigits13Result2) == 0); |
|
1244 NumberConversion::ConvertDigits(text, EDigitTypeWestern); |
|
1245 test(text.Compare(KConvertDigits13Result1) == 0); |
|
1246 // End of DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
1247 } |
|
1248 |
|
1249 |
|
1250 void TestLengthOfConvertedText() |
|
1251 { |
|
1252 TBuf<80> text; |
|
1253 text = KConvertDigits1; |
|
1254 test(NumberConversion::LengthOfConvertedText(text, EDigitTypeArabicIndic) == text.Length()); |
|
1255 } |
|
1256 |
|
1257 void TestFormat() |
|
1258 { |
|
1259 TBuf<80> text; |
|
1260 text = KFormatString1; |
|
1261 NumberConversion::Format(EDigitTypeWestern, TRefByValue<TDes>(text), 123); |
|
1262 test(text.Compare(KFormatResult1a) == 0); |
|
1263 text = KFormatString1; |
|
1264 NumberConversion::Format(EDigitTypeArabicIndic, TRefByValue<TDes>(text), 123); |
|
1265 test(text.Compare(KFormatResult1b) == 0); |
|
1266 text = KFormatString1; |
|
1267 NumberConversion::Format(EDigitTypeEasternArabicIndic, TRefByValue<TDes>(text), 123); |
|
1268 test(text.Compare(KFormatResult1c) == 0); |
|
1269 text = KFormatString1; |
|
1270 NumberConversion::Format(EDigitTypeDevanagari, TRefByValue<TDes>(text), 123); |
|
1271 test(text.Compare(KFormatResult1d) == 0); |
|
1272 text = KFormatString1; |
|
1273 NumberConversion::Format(EDigitTypeThai, TRefByValue<TDes>(text), 123); |
|
1274 test(text.Compare(KFormatResult1e) == 0); |
|
1275 text = KFormatString1; |
|
1276 // DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
1277 NumberConversion::Format(EDigitTypeBengali, TRefByValue<TDes>(text), 123); |
|
1278 test(text.Compare(KFormatResult1f) == 0); |
|
1279 text = KFormatString1; |
|
1280 NumberConversion::Format(EDigitTypeGurmukhi, TRefByValue<TDes>(text), 123); |
|
1281 test(text.Compare(KFormatResult1g) == 0); |
|
1282 text = KFormatString1; |
|
1283 NumberConversion::Format(EDigitTypeGujarati, TRefByValue<TDes>(text), 123); |
|
1284 test(text.Compare(KFormatResult1h) == 0); |
|
1285 text = KFormatString1; |
|
1286 NumberConversion::Format(EDigitTypeOriya, TRefByValue<TDes>(text), 123); |
|
1287 test(text.Compare(KFormatResult1i) == 0); |
|
1288 text = KFormatString1; |
|
1289 NumberConversion::Format(EDigitTypeTamil, TRefByValue<TDes>(text), 123); |
|
1290 test(text.Compare(KFormatResult1j) == 0); |
|
1291 text = KFormatString1; |
|
1292 NumberConversion::Format(EDigitTypeTelugu, TRefByValue<TDes>(text), 123); |
|
1293 test(text.Compare(KFormatResult1k) == 0); |
|
1294 text = KFormatString1; |
|
1295 NumberConversion::Format(EDigitTypeKannada, TRefByValue<TDes>(text), 123); |
|
1296 test(text.Compare(KFormatResult1l) == 0); |
|
1297 text = KFormatString1; |
|
1298 NumberConversion::Format(EDigitTypeMalayalam, TRefByValue<TDes>(text), 123); |
|
1299 test(text.Compare(KFormatResult1m) == 0); |
|
1300 text = KFormatString1; |
|
1301 NumberConversion::Format(EDigitTypeLao, TRefByValue<TDes>(text), 123); |
|
1302 test(text.Compare(KFormatResult1n) == 0); |
|
1303 text = KFormatString1; |
|
1304 NumberConversion::Format(EDigitTypeTibetan, TRefByValue<TDes>(text), 123); |
|
1305 test(text.Compare(KFormatResult1o) == 0); |
|
1306 text = KFormatString1; |
|
1307 NumberConversion::Format(EDigitTypeMayanmar, TRefByValue<TDes>(text), 123); |
|
1308 test(text.Compare(KFormatResult1p) == 0); |
|
1309 text = KFormatString1; |
|
1310 NumberConversion::Format(EDigitTypeKhmer, TRefByValue<TDes>(text), 123); |
|
1311 test(text.Compare(KFormatResult1q) == 0); |
|
1312 text = KFormatString1; |
|
1313 // End of DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
1314 |
|
1315 text = KFormatString2; |
|
1316 NumberConversion::Format(EDigitTypeWestern, TRefByValue<TDes>(text), 123); |
|
1317 test(text.Compare(KFormatResult2a) == 0); |
|
1318 text = KFormatString2; |
|
1319 NumberConversion::Format(EDigitTypeArabicIndic, TRefByValue<TDes>(text), 123); |
|
1320 test(text.Compare(KFormatResult2b) == 0); |
|
1321 text = KFormatString2; |
|
1322 NumberConversion::Format(EDigitTypeEasternArabicIndic, TRefByValue<TDes>(text), 123); |
|
1323 test(text.Compare(KFormatResult2c) == 0); |
|
1324 text = KFormatString2; |
|
1325 NumberConversion::Format(EDigitTypeDevanagari, TRefByValue<TDes>(text), 123); |
|
1326 test(text.Compare(KFormatResult2d) == 0); |
|
1327 text = KFormatString2; |
|
1328 NumberConversion::Format(EDigitTypeThai, TRefByValue<TDes>(text), 123); |
|
1329 test(text.Compare(KFormatResult2e) == 0); |
|
1330 text = KFormatString2; |
|
1331 // DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
1332 NumberConversion::Format(EDigitTypeBengali, TRefByValue<TDes>(text), 123); |
|
1333 test(text.Compare(KFormatResult2f) == 0); |
|
1334 text = KFormatString2; |
|
1335 NumberConversion::Format(EDigitTypeGurmukhi, TRefByValue<TDes>(text), 123); |
|
1336 test(text.Compare(KFormatResult2g) == 0); |
|
1337 text = KFormatString2; |
|
1338 NumberConversion::Format(EDigitTypeGujarati, TRefByValue<TDes>(text), 123); |
|
1339 test(text.Compare(KFormatResult2h) == 0); |
|
1340 text = KFormatString2; |
|
1341 NumberConversion::Format(EDigitTypeOriya, TRefByValue<TDes>(text), 123); |
|
1342 test(text.Compare(KFormatResult2i) == 0); |
|
1343 text = KFormatString2; |
|
1344 NumberConversion::Format(EDigitTypeTamil, TRefByValue<TDes>(text), 123); |
|
1345 test(text.Compare(KFormatResult2j) == 0); |
|
1346 text = KFormatString2; |
|
1347 NumberConversion::Format(EDigitTypeTelugu, TRefByValue<TDes>(text), 123); |
|
1348 test(text.Compare(KFormatResult2k) == 0); |
|
1349 text = KFormatString2; |
|
1350 NumberConversion::Format(EDigitTypeKannada, TRefByValue<TDes>(text), 123); |
|
1351 test(text.Compare(KFormatResult2l) == 0); |
|
1352 text = KFormatString2; |
|
1353 NumberConversion::Format(EDigitTypeMalayalam, TRefByValue<TDes>(text), 123); |
|
1354 test(text.Compare(KFormatResult2m) == 0); |
|
1355 text = KFormatString2; |
|
1356 NumberConversion::Format(EDigitTypeLao, TRefByValue<TDes>(text), 123); |
|
1357 test(text.Compare(KFormatResult2n) == 0); |
|
1358 text = KFormatString2; |
|
1359 NumberConversion::Format(EDigitTypeTibetan, TRefByValue<TDes>(text), 123); |
|
1360 test(text.Compare(KFormatResult2o) == 0); |
|
1361 text = KFormatString2; |
|
1362 NumberConversion::Format(EDigitTypeMayanmar, TRefByValue<TDes>(text), 123); |
|
1363 test(text.Compare(KFormatResult2p) == 0); |
|
1364 text = KFormatString2; |
|
1365 NumberConversion::Format(EDigitTypeKhmer, TRefByValue<TDes>(text), 123); |
|
1366 test(text.Compare(KFormatResult2q) == 0); |
|
1367 text = KFormatString2; |
|
1368 // End of DEF101816: TDigitType enum needs to be extended to inlcude Indic digits to enable number co |
|
1369 |
|
1370 |
|
1371 text = KFormatString3; |
|
1372 NumberConversion::Format(EDigitTypeWestern, TRefByValue<TDes>(text), 123, 456); |
|
1373 test(text.Compare(KFormatResult3a) == 0); |
|
1374 text = KFormatString3; |
|
1375 NumberConversion::Format(EDigitTypeArabicIndic, TRefByValue<TDes>(text), 123, 456); |
|
1376 test(text.Compare(KFormatResult3b) == 0); |
|
1377 text = KFormatString3; |
|
1378 NumberConversion::Format(EDigitTypeEasternArabicIndic, TRefByValue<TDes>(text), 123, 456); |
|
1379 test(text.Compare(KFormatResult3c) == 0); |
|
1380 text = KFormatString3; |
|
1381 NumberConversion::Format(EDigitTypeDevanagari, TRefByValue<TDes>(text), 123, 456); |
|
1382 test(text.Compare(KFormatResult3d) == 0); |
|
1383 text = KFormatString3; |
|
1384 NumberConversion::Format(EDigitTypeThai, TRefByValue<TDes>(text), 123, 456); |
|
1385 test(text.Compare(KFormatResult3e) == 0); |
|
1386 |
|
1387 |
|
1388 // text.Format(KFormatString4, 123, &KString, 456, &KString); |
|
1389 |
|
1390 text = KFormatString4; |
|
1391 NumberConversion::Format(EDigitTypeWestern, TRefByValue<TDes>(text), 123, &KString, 456, &KString); |
|
1392 test(text.Compare(KFormatResult4a) == 0); |
|
1393 text = KFormatString4; |
|
1394 NumberConversion::Format(EDigitTypeArabicIndic, TRefByValue<TDes>(text), 123, &KString, 456, &KString); |
|
1395 test(text.Compare(KFormatResult4b) == 0); |
|
1396 text = KFormatString4; |
|
1397 NumberConversion::Format(EDigitTypeEasternArabicIndic, TRefByValue<TDes>(text), 123, &KString, 456, &KString); |
|
1398 test(text.Compare(KFormatResult4c) == 0); |
|
1399 |
|
1400 } |
|
1401 |
|
1402 void TestLocale() |
|
1403 { |
|
1404 TLocale testLocale1; |
|
1405 TLocale testLocale2; |
|
1406 TDigitType testDigitType; |
|
1407 |
|
1408 testLocale1.SetDigitType(EDigitTypeThai); |
|
1409 testLocale2.SetDigitType(EDigitTypeArabicIndic); |
|
1410 |
|
1411 testDigitType = testLocale1.DigitType(); |
|
1412 test(testDigitType==EDigitTypeThai); |
|
1413 testDigitType = testLocale2.DigitType(); |
|
1414 test(testDigitType==EDigitTypeArabicIndic); |
|
1415 } |
|
1416 |
|
1417 void TestConvertDigit() |
|
1418 { |
|
1419 struct TDigitInfo |
|
1420 { |
|
1421 TDigitInfo(TDigitType aDigitType, const TDesC& aName) : |
|
1422 iDigitType(aDigitType), |
|
1423 iName(aName) |
|
1424 { |
|
1425 } |
|
1426 TDigitType iDigitType; |
|
1427 TBuf<32> iName; |
|
1428 } digitTypes[] = |
|
1429 { |
|
1430 TDigitInfo(EDigitTypeWestern, _L("Western")), |
|
1431 TDigitInfo(EDigitTypeArabicIndic, _L("ArabicIndic")), |
|
1432 TDigitInfo(EDigitTypeEasternArabicIndic, _L("EasternArabicIndic")), |
|
1433 TDigitInfo(EDigitTypeDevanagari, _L("Devanagari")), |
|
1434 TDigitInfo(EDigitTypeThai, _L("Thai")), |
|
1435 }; |
|
1436 |
|
1437 test.Printf(_L("\r\nConverDigit()\r\n")); |
|
1438 for(TInt i=0;i<TInt(sizeof(digitTypes)/sizeof(digitTypes[0]));++i) |
|
1439 { |
|
1440 test.Printf(_L("%S\r\n"), &(digitTypes[i].iName)); |
|
1441 for(TInt j=0;j<TInt(sizeof(digitTypes)/sizeof(digitTypes[0]));++j) |
|
1442 { |
|
1443 test.Printf(_L("...to %S\r\n"), &(digitTypes[j].iName)); |
|
1444 for(TInt k=0;k<10;++k) |
|
1445 { |
|
1446 TChar c = TChar(digitTypes[i].iDigitType + k); |
|
1447 test(NumberConversion::ConvertDigit(c, digitTypes[j].iDigitType) == |
|
1448 TChar(digitTypes[j].iDigitType + k)); |
|
1449 } |
|
1450 } |
|
1451 } |
|
1452 } |
|
1453 |
|
1454 void RunTestsL() |
|
1455 { |
|
1456 test.Start(_L(" @SYMTestCaseID:SYSLIBS-NUMBERCONVERSION-LEGACY-TESTCONV-0001 Testing NumberConversion ")); |
|
1457 __UHEAP_MARK; |
|
1458 test.Next(_L("Test String->Number")); |
|
1459 TestStringToNumber(); |
|
1460 __UHEAP_MARKEND; |
|
1461 __UHEAP_MARK; |
|
1462 test.Next(_L("Test PositionOfNextNumber")); |
|
1463 TestPositionOfNextNumber(); |
|
1464 __UHEAP_MARKEND; |
|
1465 __UHEAP_MARK; |
|
1466 test.Next(_L("Test FormatNumber")); |
|
1467 TestFormatNumber(); |
|
1468 __UHEAP_MARKEND; |
|
1469 __UHEAP_MARK; |
|
1470 test.Next(_L("Test AppendFormatNumber")); |
|
1471 TestAppendFormatNumber(); |
|
1472 __UHEAP_MARKEND; |
|
1473 __UHEAP_MARK; |
|
1474 test.Next(_L("Test ConvertDigits")); |
|
1475 TestConvertDigits(); |
|
1476 __UHEAP_MARKEND; |
|
1477 __UHEAP_MARK; |
|
1478 test.Next(_L("Test LengthOfConvertedText")); |
|
1479 TestLengthOfConvertedText(); |
|
1480 __UHEAP_MARKEND; |
|
1481 __UHEAP_MARK; |
|
1482 test.Next(_L("Test Format")); |
|
1483 TestFormat(); |
|
1484 __UHEAP_MARKEND; |
|
1485 __UHEAP_MARK; |
|
1486 test.Next(_L("Test Locale")); |
|
1487 TestLocale(); |
|
1488 __UHEAP_MARKEND; |
|
1489 __UHEAP_MARK; |
|
1490 test.Next(_L("Test ConvertDigit")); |
|
1491 TestConvertDigit(); |
|
1492 __UHEAP_MARKEND; |
|
1493 |
|
1494 } |
|
1495 |
|
1496 |
|
1497 void SetupConsoleL() // initialize and call example code under cleanup stack |
|
1498 { |
|
1499 console=Console::NewL(_L("NumberConversion Test"), TSize(KCalypsoConsoleWidth,KCalypsoConsoleHeight)); |
|
1500 CleanupStack::PushL(console); |
|
1501 test.SetConsole(console); |
|
1502 |
|
1503 // Set up an active scheduler, for multitap testing |
|
1504 CActiveScheduler* scheduler = new (ELeave) CActiveScheduler; |
|
1505 // Push onto the cleanup stack |
|
1506 CleanupStack::PushL(scheduler); |
|
1507 |
|
1508 // Install as the active scheduler |
|
1509 CActiveScheduler::Install(scheduler); |
|
1510 |
|
1511 // DriveEngineL is the real thing being tested here |
|
1512 TRAPD(error,RunTestsL()); // perform example function |
|
1513 |
|
1514 test(error == KErrNone); |
|
1515 test.End(); |
|
1516 |
|
1517 CleanupStack::PopAndDestroy(2); // close console, scheduler |
|
1518 } |
|
1519 |
|
1520 |
|
1521 GLDEF_C TInt E32Main() // main function called by E32 |
|
1522 { |
|
1523 CTrapCleanup* cleanup=CTrapCleanup::New(); // get clean-up stack |
|
1524 TRAPD(error,SetupConsoleL()); // more initialization, then do example |
|
1525 __ASSERT_ALWAYS(!error,User::Panic(_L("NumberConversion Test"),error)); |
|
1526 delete cleanup; // destroy clean-up stack |
|
1527 return 0; // and return |
|
1528 } |