2005-08-16 Marek Safar <marek.safar@seznam.cz>
[mono.git] / mcs / class / Microsoft.JScript / Test / Mozilla / ecma / TypeConversion / 9.3.1-1.js
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */\r
2 /* ***** BEGIN LICENSE BLOCK *****\r
3  * Version: MPL 1.1/GPL 2.0/LGPL 2.1\r
4  *\r
5  * The contents of this file are subject to the Mozilla Public License Version\r
6  * 1.1 (the "License"); you may not use this file except in compliance with\r
7  * the License. You may obtain a copy of the License at\r
8  * http://www.mozilla.org/MPL/\r
9  *\r
10  * Software distributed under the License is distributed on an "AS IS" basis,\r
11  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
12  * for the specific language governing rights and limitations under the\r
13  * License.\r
14  *\r
15  * The Original Code is Mozilla Communicator client code, released\r
16  * March 31, 1998.\r
17  *\r
18  * The Initial Developer of the Original Code is\r
19  * Netscape Communications Corporation.\r
20  * Portions created by the Initial Developer are Copyright (C) 1998\r
21  * the Initial Developer. All Rights Reserved.\r
22  *\r
23  * Contributor(s):\r
24  *\r
25  * Alternatively, the contents of this file may be used under the terms of\r
26  * either the GNU General Public License Version 2 or later (the "GPL"), or\r
27  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),\r
28  * in which case the provisions of the GPL or the LGPL are applicable instead\r
29  * of those above. If you wish to allow use of your version of this file only\r
30  * under the terms of either the GPL or the LGPL, and not to allow others to\r
31  * use your version of this file under the terms of the MPL, indicate your\r
32  * decision by deleting the provisions above and replace them with the notice\r
33  * and other provisions required by the GPL or the LGPL. If you do not delete\r
34  * the provisions above, a recipient may use your version of this file under\r
35  * the terms of any one of the MPL, the GPL or the LGPL.\r
36  *\r
37  * ***** END LICENSE BLOCK ***** */\r
38 /**\r
39    File Name:          9.3.1-1.js\r
40    ECMA Section:       9.3  Type Conversion:  ToNumber\r
41    Description:        rules for converting an argument to a number.\r
42    see 9.3.1 for cases for converting strings to numbers.\r
43    special cases:\r
44    undefined           NaN\r
45    Null                NaN\r
46    Boolean             1 if true; +0 if false\r
47    Number              the argument ( no conversion )\r
48    String              see test 9.3.1\r
49    Object              see test 9.3-1\r
50 \r
51 \r
52    This tests ToNumber applied to the string type\r
53 \r
54    Author:             christine@netscape.com\r
55    Date:               10 july 1997\r
56 \r
57 */\r
58 var SECTION = "9.3.1-1";\r
59 var VERSION = "ECMA_1";\r
60 startTest();\r
61 var TITLE   = "ToNumber applied to the String type";\r
62 var BUGNUMBER="77391";\r
63 \r
64 writeHeaderToLog( SECTION + " "+ TITLE);\r
65 \r
66 \r
67 //  StringNumericLiteral:::StrWhiteSpace:::StrWhiteSpaceChar StrWhiteSpace:::\r
68 //\r
69 //  Name    Unicode Value   Escape Sequence\r
70 //  <TAB>   0X0009          \t\r
71 //  <SP>    0X0020\r
72 //  <FF>    0X000C          \f\r
73 //  <VT>    0X000B\r
74 //  <CR>    0X000D          \r\r
75 //  <LF>    0X000A          \n\r
76 new TestCase( SECTION,  "Number('')",           0,      Number("") );\r
77 new TestCase( SECTION,  "Number(' ')",          0,      Number(" ") );\r
78 new TestCase( SECTION,  "Number(\\t)",          0,      Number("\t") );\r
79 new TestCase( SECTION,  "Number(\\n)",          0,      Number("\n") );\r
80 new TestCase( SECTION,  "Number(\\r)",          0,      Number("\r") );\r
81 new TestCase( SECTION,  "Number(\\f)",          0,      Number("\f") );\r
82 \r
83 new TestCase( SECTION,  "Number(String.fromCharCode(0x0009)",   0,  Number(String.fromCharCode(0x0009)) );\r
84 new TestCase( SECTION,  "Number(String.fromCharCode(0x0020)",   0,  Number(String.fromCharCode(0x0020)) );\r
85 new TestCase( SECTION,  "Number(String.fromCharCode(0x000C)",   0,  Number(String.fromCharCode(0x000C)) );\r
86 new TestCase( SECTION,  "Number(String.fromCharCode(0x000B)",   0,  Number(String.fromCharCode(0x000B)) );\r
87 new TestCase( SECTION,  "Number(String.fromCharCode(0x000D)",   0,  Number(String.fromCharCode(0x000D)) );\r
88 new TestCase( SECTION,  "Number(String.fromCharCode(0x000A)",   0,  Number(String.fromCharCode(0x000A)) );\r
89 \r
90 //  a StringNumericLiteral may be preceeded or followed by whitespace and/or\r
91 //  line terminators\r
92 \r
93 new TestCase( SECTION,  "Number( '   ' +  999 )",        999,    Number( '   '+999) );\r
94 new TestCase( SECTION,  "Number( '\\n'  + 999 )",       999,    Number( '\n' +999) );\r
95 new TestCase( SECTION,  "Number( '\\r'  + 999 )",       999,    Number( '\r' +999) );\r
96 new TestCase( SECTION,  "Number( '\\t'  + 999 )",       999,    Number( '\t' +999) );\r
97 new TestCase( SECTION,  "Number( '\\f'  + 999 )",       999,    Number( '\f' +999) );\r
98 \r
99 new TestCase( SECTION,  "Number( 999 + '   ' )",        999,    Number( 999+'   ') );\r
100 new TestCase( SECTION,  "Number( 999 + '\\n' )",        999,    Number( 999+'\n' ) );\r
101 new TestCase( SECTION,  "Number( 999 + '\\r' )",        999,    Number( 999+'\r' ) );\r
102 new TestCase( SECTION,  "Number( 999 + '\\t' )",        999,    Number( 999+'\t' ) );\r
103 new TestCase( SECTION,  "Number( 999 + '\\f' )",        999,    Number( 999+'\f' ) );\r
104 \r
105 new TestCase( SECTION,  "Number( '\\n'  + 999 + '\\n' )",         999,    Number( '\n' +999+'\n' ) );\r
106 new TestCase( SECTION,  "Number( '\\r'  + 999 + '\\r' )",         999,    Number( '\r' +999+'\r' ) );\r
107 new TestCase( SECTION,  "Number( '\\t'  + 999 + '\\t' )",         999,    Number( '\t' +999+'\t' ) );\r
108 new TestCase( SECTION,  "Number( '\\f'  + 999 + '\\f' )",         999,    Number( '\f' +999+'\f' ) );\r
109 \r
110 new TestCase( SECTION,  "Number( '   ' +  '999' )",     999,    Number( '   '+'999') );\r
111 new TestCase( SECTION,  "Number( '\\n'  + '999' )",       999,    Number( '\n' +'999') );\r
112 new TestCase( SECTION,  "Number( '\\r'  + '999' )",       999,    Number( '\r' +'999') );\r
113 new TestCase( SECTION,  "Number( '\\t'  + '999' )",       999,    Number( '\t' +'999') );\r
114 new TestCase( SECTION,  "Number( '\\f'  + '999' )",       999,    Number( '\f' +'999') );\r
115 \r
116 new TestCase( SECTION,  "Number( '999' + '   ' )",        999,    Number( '999'+'   ') );\r
117 new TestCase( SECTION,  "Number( '999' + '\\n' )",        999,    Number( '999'+'\n' ) );\r
118 new TestCase( SECTION,  "Number( '999' + '\\r' )",        999,    Number( '999'+'\r' ) );\r
119 new TestCase( SECTION,  "Number( '999' + '\\t' )",        999,    Number( '999'+'\t' ) );\r
120 new TestCase( SECTION,  "Number( '999' + '\\f' )",        999,    Number( '999'+'\f' ) );\r
121 \r
122 new TestCase( SECTION,  "Number( '\\n'  + '999' + '\\n' )",         999,    Number( '\n' +'999'+'\n' ) );\r
123 new TestCase( SECTION,  "Number( '\\r'  + '999' + '\\r' )",         999,    Number( '\r' +'999'+'\r' ) );\r
124 new TestCase( SECTION,  "Number( '\\t'  + '999' + '\\t' )",         999,    Number( '\t' +'999'+'\t' ) );\r
125 new TestCase( SECTION,  "Number( '\\f'  + '999' + '\\f' )",         999,    Number( '\f' +'999'+'\f' ) );\r
126 \r
127 new TestCase( SECTION,  "Number( String.fromCharCode(0x0009) +  '99' )",    99,     Number( String.fromCharCode(0x0009) +  '99' ) );\r
128 new TestCase( SECTION,  "Number( String.fromCharCode(0x0020) +  '99' )",    99,     Number( String.fromCharCode(0x0020) +  '99' ) );\r
129 new TestCase( SECTION,  "Number( String.fromCharCode(0x000C) +  '99' )",    99,     Number( String.fromCharCode(0x000C) +  '99' ) );\r
130 new TestCase( SECTION,  "Number( String.fromCharCode(0x000B) +  '99' )",    99,     Number( String.fromCharCode(0x000B) +  '99' ) );\r
131 new TestCase( SECTION,  "Number( String.fromCharCode(0x000D) +  '99' )",    99,     Number( String.fromCharCode(0x000D) +  '99' ) );\r
132 new TestCase( SECTION,  "Number( String.fromCharCode(0x000A) +  '99' )",    99,     Number( String.fromCharCode(0x000A) +  '99' ) );\r
133 \r
134 new TestCase( SECTION,  "Number( String.fromCharCode(0x0009) +  '99' + String.fromCharCode(0x0009)",    99,     Number( String.fromCharCode(0x0009) +  '99' + String.fromCharCode(0x0009)) );\r
135 new TestCase( SECTION,  "Number( String.fromCharCode(0x0020) +  '99' + String.fromCharCode(0x0020)",    99,     Number( String.fromCharCode(0x0009) +  '99' + String.fromCharCode(0x0020)) );\r
136 new TestCase( SECTION,  "Number( String.fromCharCode(0x000C) +  '99' + String.fromCharCode(0x000C)",    99,     Number( String.fromCharCode(0x0009) +  '99' + String.fromCharCode(0x000C)) );\r
137 new TestCase( SECTION,  "Number( String.fromCharCode(0x000D) +  '99' + String.fromCharCode(0x000D)",    99,     Number( String.fromCharCode(0x0009) +  '99' + String.fromCharCode(0x000D)) );\r
138 new TestCase( SECTION,  "Number( String.fromCharCode(0x000B) +  '99' + String.fromCharCode(0x000B)",    99,     Number( String.fromCharCode(0x0009) +  '99' + String.fromCharCode(0x000B)) );\r
139 new TestCase( SECTION,  "Number( String.fromCharCode(0x000A) +  '99' + String.fromCharCode(0x000A)",    99,     Number( String.fromCharCode(0x0009) +  '99' + String.fromCharCode(0x000A)) );\r
140 \r
141 new TestCase( SECTION,  "Number( '99' + String.fromCharCode(0x0009)",    99,     Number( '99' + String.fromCharCode(0x0009)) );\r
142 new TestCase( SECTION,  "Number( '99' + String.fromCharCode(0x0020)",    99,     Number( '99' + String.fromCharCode(0x0020)) );\r
143 new TestCase( SECTION,  "Number( '99' + String.fromCharCode(0x000C)",    99,     Number( '99' + String.fromCharCode(0x000C)) );\r
144 new TestCase( SECTION,  "Number( '99' + String.fromCharCode(0x000D)",    99,     Number( '99' + String.fromCharCode(0x000D)) );\r
145 new TestCase( SECTION,  "Number( '99' + String.fromCharCode(0x000B)",    99,     Number( '99' + String.fromCharCode(0x000B)) );\r
146 new TestCase( SECTION,  "Number( '99' + String.fromCharCode(0x000A)",    99,     Number( '99' + String.fromCharCode(0x000A)) );\r
147 \r
148 new TestCase( SECTION,  "Number( String.fromCharCode(0x0009) +  99 )",    99,     Number( String.fromCharCode(0x0009) +  99 ) );\r
149 new TestCase( SECTION,  "Number( String.fromCharCode(0x0020) +  99 )",    99,     Number( String.fromCharCode(0x0020) +  99 ) );\r
150 new TestCase( SECTION,  "Number( String.fromCharCode(0x000C) +  99 )",    99,     Number( String.fromCharCode(0x000C) +  99 ) );\r
151 new TestCase( SECTION,  "Number( String.fromCharCode(0x000B) +  99 )",    99,     Number( String.fromCharCode(0x000B) +  99 ) );\r
152 new TestCase( SECTION,  "Number( String.fromCharCode(0x000D) +  99 )",    99,     Number( String.fromCharCode(0x000D) +  99 ) );\r
153 new TestCase( SECTION,  "Number( String.fromCharCode(0x000A) +  99 )",    99,     Number( String.fromCharCode(0x000A) +  99 ) );\r
154 \r
155 new TestCase( SECTION,  "Number( String.fromCharCode(0x0009) +  99 + String.fromCharCode(0x0009)",    99,     Number( String.fromCharCode(0x0009) +  99 + String.fromCharCode(0x0009)) );\r
156 new TestCase( SECTION,  "Number( String.fromCharCode(0x0020) +  99 + String.fromCharCode(0x0020)",    99,     Number( String.fromCharCode(0x0009) +  99 + String.fromCharCode(0x0020)) );\r
157 new TestCase( SECTION,  "Number( String.fromCharCode(0x000C) +  99 + String.fromCharCode(0x000C)",    99,     Number( String.fromCharCode(0x0009) +  99 + String.fromCharCode(0x000C)) );\r
158 new TestCase( SECTION,  "Number( String.fromCharCode(0x000D) +  99 + String.fromCharCode(0x000D)",    99,     Number( String.fromCharCode(0x0009) +  99 + String.fromCharCode(0x000D)) );\r
159 new TestCase( SECTION,  "Number( String.fromCharCode(0x000B) +  99 + String.fromCharCode(0x000B)",    99,     Number( String.fromCharCode(0x0009) +  99 + String.fromCharCode(0x000B)) );\r
160 new TestCase( SECTION,  "Number( String.fromCharCode(0x000A) +  99 + String.fromCharCode(0x000A)",    99,     Number( String.fromCharCode(0x0009) +  99 + String.fromCharCode(0x000A)) );\r
161 \r
162 new TestCase( SECTION,  "Number( 99 + String.fromCharCode(0x0009)",    99,     Number( 99 + String.fromCharCode(0x0009)) );\r
163 new TestCase( SECTION,  "Number( 99 + String.fromCharCode(0x0020)",    99,     Number( 99 + String.fromCharCode(0x0020)) );\r
164 new TestCase( SECTION,  "Number( 99 + String.fromCharCode(0x000C)",    99,     Number( 99 + String.fromCharCode(0x000C)) );\r
165 new TestCase( SECTION,  "Number( 99 + String.fromCharCode(0x000D)",    99,     Number( 99 + String.fromCharCode(0x000D)) );\r
166 new TestCase( SECTION,  "Number( 99 + String.fromCharCode(0x000B)",    99,     Number( 99 + String.fromCharCode(0x000B)) );\r
167 new TestCase( SECTION,  "Number( 99 + String.fromCharCode(0x000A)",    99,     Number( 99 + String.fromCharCode(0x000A)) );\r
168 \r
169 \r
170 // StrNumericLiteral:::StrDecimalLiteral:::Infinity\r
171 \r
172 new TestCase( SECTION,  "Number('Infinity')",   Math.pow(10,10000),   Number("Infinity") );\r
173 new TestCase( SECTION,  "Number('-Infinity')", -Math.pow(10,10000),   Number("-Infinity") );\r
174 new TestCase( SECTION,  "Number('+Infinity')",  Math.pow(10,10000),   Number("+Infinity") );\r
175 \r
176 // StrNumericLiteral:::   StrDecimalLiteral ::: DecimalDigits . DecimalDigits opt ExponentPart opt\r
177 \r
178 new TestCase( SECTION,  "Number('0')",          0,          Number("0") );\r
179 new TestCase( SECTION,  "Number('-0')",         -0,         Number("-0") );\r
180 new TestCase( SECTION,  "Number('+0')",          0,         Number("+0") );\r
181 \r
182 new TestCase( SECTION,  "Number('1')",          1,          Number("1") );\r
183 new TestCase( SECTION,  "Number('-1')",         -1,         Number("-1") );\r
184 new TestCase( SECTION,  "Number('+1')",          1,         Number("+1") );\r
185 \r
186 new TestCase( SECTION,  "Number('2')",          2,          Number("2") );\r
187 new TestCase( SECTION,  "Number('-2')",         -2,         Number("-2") );\r
188 new TestCase( SECTION,  "Number('+2')",          2,         Number("+2") );\r
189 \r
190 new TestCase( SECTION,  "Number('3')",          3,          Number("3") );\r
191 new TestCase( SECTION,  "Number('-3')",         -3,         Number("-3") );\r
192 new TestCase( SECTION,  "Number('+3')",          3,         Number("+3") );\r
193 \r
194 new TestCase( SECTION,  "Number('4')",          4,          Number("4") );\r
195 new TestCase( SECTION,  "Number('-4')",         -4,         Number("-4") );\r
196 new TestCase( SECTION,  "Number('+4')",          4,         Number("+4") );\r
197 \r
198 new TestCase( SECTION,  "Number('5')",          5,          Number("5") );\r
199 new TestCase( SECTION,  "Number('-5')",         -5,         Number("-5") );\r
200 new TestCase( SECTION,  "Number('+5')",          5,         Number("+5") );\r
201 \r
202 new TestCase( SECTION,  "Number('6')",          6,          Number("6") );\r
203 new TestCase( SECTION,  "Number('-6')",         -6,         Number("-6") );\r
204 new TestCase( SECTION,  "Number('+6')",          6,         Number("+6") );\r
205 \r
206 new TestCase( SECTION,  "Number('7')",          7,          Number("7") );\r
207 new TestCase( SECTION,  "Number('-7')",         -7,         Number("-7") );\r
208 new TestCase( SECTION,  "Number('+7')",          7,         Number("+7") );\r
209 \r
210 new TestCase( SECTION,  "Number('8')",          8,          Number("8") );\r
211 new TestCase( SECTION,  "Number('-8')",         -8,         Number("-8") );\r
212 new TestCase( SECTION,  "Number('+8')",          8,         Number("+8") );\r
213 \r
214 new TestCase( SECTION,  "Number('9')",          9,          Number("9") );\r
215 new TestCase( SECTION,  "Number('-9')",         -9,         Number("-9") );\r
216 new TestCase( SECTION,  "Number('+9')",          9,         Number("+9") );\r
217 \r
218 new TestCase( SECTION,  "Number('3.14159')",    3.14159,    Number("3.14159") );\r
219 new TestCase( SECTION,  "Number('-3.14159')",   -3.14159,   Number("-3.14159") );\r
220 new TestCase( SECTION,  "Number('+3.14159')",   3.14159,    Number("+3.14159") );\r
221 \r
222 new TestCase( SECTION,  "Number('3.')",         3,          Number("3.") );\r
223 new TestCase( SECTION,  "Number('-3.')",        -3,         Number("-3.") );\r
224 new TestCase( SECTION,  "Number('+3.')",        3,          Number("+3.") );\r
225 \r
226 new TestCase( SECTION,  "Number('3.e1')",       30,         Number("3.e1") );\r
227 new TestCase( SECTION,  "Number('-3.e1')",      -30,        Number("-3.e1") );\r
228 new TestCase( SECTION,  "Number('+3.e1')",      30,         Number("+3.e1") );\r
229 \r
230 new TestCase( SECTION,  "Number('3.e+1')",       30,         Number("3.e+1") );\r
231 new TestCase( SECTION,  "Number('-3.e+1')",      -30,        Number("-3.e+1") );\r
232 new TestCase( SECTION,  "Number('+3.e+1')",      30,         Number("+3.e+1") );\r
233 \r
234 new TestCase( SECTION,  "Number('3.e-1')",       .30,         Number("3.e-1") );\r
235 new TestCase( SECTION,  "Number('-3.e-1')",      -.30,        Number("-3.e-1") );\r
236 new TestCase( SECTION,  "Number('+3.e-1')",      .30,         Number("+3.e-1") );\r
237 \r
238 // StrDecimalLiteral:::  .DecimalDigits ExponentPart opt\r
239 \r
240 new TestCase( SECTION,  "Number('.00001')",     0.00001,    Number(".00001") );\r
241 new TestCase( SECTION,  "Number('+.00001')",    0.00001,    Number("+.00001") );\r
242 new TestCase( SECTION,  "Number('-0.0001')",    -0.00001,   Number("-.00001") );\r
243 \r
244 new TestCase( SECTION,  "Number('.01e2')",      1,          Number(".01e2") );\r
245 new TestCase( SECTION,  "Number('+.01e2')",     1,          Number("+.01e2") );\r
246 new TestCase( SECTION,  "Number('-.01e2')",     -1,         Number("-.01e2") );\r
247 \r
248 new TestCase( SECTION,  "Number('.01e+2')",      1,         Number(".01e+2") );\r
249 new TestCase( SECTION,  "Number('+.01e+2')",     1,         Number("+.01e+2") );\r
250 new TestCase( SECTION,  "Number('-.01e+2')",     -1,        Number("-.01e+2") );\r
251 \r
252 new TestCase( SECTION,  "Number('.01e-2')",      0.0001,    Number(".01e-2") );\r
253 new TestCase( SECTION,  "Number('+.01e-2')",     0.0001,    Number("+.01e-2") );\r
254 new TestCase( SECTION,  "Number('-.01e-2')",     -0.0001,   Number("-.01e-2") );\r
255 \r
256 //  StrDecimalLiteral:::    DecimalDigits ExponentPart opt\r
257 \r
258 new TestCase( SECTION,  "Number('1234e5')",     123400000,  Number("1234e5") );\r
259 new TestCase( SECTION,  "Number('+1234e5')",    123400000,  Number("+1234e5") );\r
260 new TestCase( SECTION,  "Number('-1234e5')",    -123400000, Number("-1234e5") );\r
261 \r
262 new TestCase( SECTION,  "Number('1234e+5')",    123400000,  Number("1234e+5") );\r
263 new TestCase( SECTION,  "Number('+1234e+5')",   123400000,  Number("+1234e+5") );\r
264 new TestCase( SECTION,  "Number('-1234e+5')",   -123400000, Number("-1234e+5") );\r
265 \r
266 new TestCase( SECTION,  "Number('1234e-5')",     0.01234,  Number("1234e-5") );\r
267 new TestCase( SECTION,  "Number('+1234e-5')",    0.01234,  Number("+1234e-5") );\r
268 new TestCase( SECTION,  "Number('-1234e-5')",    -0.01234, Number("-1234e-5") );\r
269 \r
270 // StrNumericLiteral::: HexIntegerLiteral\r
271 \r
272 new TestCase( SECTION,  "Number('0x0')",        0,          Number("0x0"));\r
273 new TestCase( SECTION,  "Number('0x1')",        1,          Number("0x1"));\r
274 new TestCase( SECTION,  "Number('0x2')",        2,          Number("0x2"));\r
275 new TestCase( SECTION,  "Number('0x3')",        3,          Number("0x3"));\r
276 new TestCase( SECTION,  "Number('0x4')",        4,          Number("0x4"));\r
277 new TestCase( SECTION,  "Number('0x5')",        5,          Number("0x5"));\r
278 new TestCase( SECTION,  "Number('0x6')",        6,          Number("0x6"));\r
279 new TestCase( SECTION,  "Number('0x7')",        7,          Number("0x7"));\r
280 new TestCase( SECTION,  "Number('0x8')",        8,          Number("0x8"));\r
281 new TestCase( SECTION,  "Number('0x9')",        9,          Number("0x9"));\r
282 new TestCase( SECTION,  "Number('0xa')",        10,         Number("0xa"));\r
283 new TestCase( SECTION,  "Number('0xb')",        11,         Number("0xb"));\r
284 new TestCase( SECTION,  "Number('0xc')",        12,         Number("0xc"));\r
285 new TestCase( SECTION,  "Number('0xd')",        13,         Number("0xd"));\r
286 new TestCase( SECTION,  "Number('0xe')",        14,         Number("0xe"));\r
287 new TestCase( SECTION,  "Number('0xf')",        15,         Number("0xf"));\r
288 new TestCase( SECTION,  "Number('0xA')",        10,         Number("0xA"));\r
289 new TestCase( SECTION,  "Number('0xB')",        11,         Number("0xB"));\r
290 new TestCase( SECTION,  "Number('0xC')",        12,         Number("0xC"));\r
291 new TestCase( SECTION,  "Number('0xD')",        13,         Number("0xD"));\r
292 new TestCase( SECTION,  "Number('0xE')",        14,         Number("0xE"));\r
293 new TestCase( SECTION,  "Number('0xF')",        15,         Number("0xF"));\r
294 \r
295 new TestCase( SECTION,  "Number('0X0')",        0,          Number("0X0"));\r
296 new TestCase( SECTION,  "Number('0X1')",        1,          Number("0X1"));\r
297 new TestCase( SECTION,  "Number('0X2')",        2,          Number("0X2"));\r
298 new TestCase( SECTION,  "Number('0X3')",        3,          Number("0X3"));\r
299 new TestCase( SECTION,  "Number('0X4')",        4,          Number("0X4"));\r
300 new TestCase( SECTION,  "Number('0X5')",        5,          Number("0X5"));\r
301 new TestCase( SECTION,  "Number('0X6')",        6,          Number("0X6"));\r
302 new TestCase( SECTION,  "Number('0X7')",        7,          Number("0X7"));\r
303 new TestCase( SECTION,  "Number('0X8')",        8,          Number("0X8"));\r
304 new TestCase( SECTION,  "Number('0X9')",        9,          Number("0X9"));\r
305 new TestCase( SECTION,  "Number('0Xa')",        10,         Number("0Xa"));\r
306 new TestCase( SECTION,  "Number('0Xb')",        11,         Number("0Xb"));\r
307 new TestCase( SECTION,  "Number('0Xc')",        12,         Number("0Xc"));\r
308 new TestCase( SECTION,  "Number('0Xd')",        13,         Number("0Xd"));\r
309 new TestCase( SECTION,  "Number('0Xe')",        14,         Number("0Xe"));\r
310 new TestCase( SECTION,  "Number('0Xf')",        15,         Number("0Xf"));\r
311 new TestCase( SECTION,  "Number('0XA')",        10,         Number("0XA"));\r
312 new TestCase( SECTION,  "Number('0XB')",        11,         Number("0XB"));\r
313 new TestCase( SECTION,  "Number('0XC')",        12,         Number("0XC"));\r
314 new TestCase( SECTION,  "Number('0XD')",        13,         Number("0XD"));\r
315 new TestCase( SECTION,  "Number('0XE')",        14,         Number("0XE"));\r
316 new TestCase( SECTION,  "Number('0XF')",        15,         Number("0XF"));\r
317 \r
318 test();\r
319 \r