1# Copyright 2013 the V8 project authors. All rights reserved.
2# Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions
6# are met:
7# 1.  Redistributions of source code must retain the above copyright
8#     notice, this list of conditions and the following disclaimer.
9# 2.  Redistributions in binary form must reproduce the above copyright
10#     notice, this list of conditions and the following disclaimer in the
11#     documentation and/or other materials provided with the distribution.
12#
13# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
14# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
16# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
17# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
18# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
19# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
20# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
22# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23
24KDE JS Test
25
26On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
27
28
29PASS Number() is 0
30PASS Number(1) is 1
31PASS Number(1.1) is 1.1
32PASS Number('1.2') is 1.2
33PASS isNaN(Number('a')) is true
34PASS (new Number()).valueOf() is 0
35PASS (new Number(.4)).valueOf() is 0.4
36PASS (new Number('1.')).valueOf() is 1
37PASS isNaN(new Number('a')) is true
38PASS isNaN(Number.NaN) is true
39PASS Number.NEGATIVE_INFINITY is -Infinity
40PASS Number.POSITIVE_INFINITY is Infinity
41PASS (1).toString() is '1'
42PASS typeof (1).toString() is 'string'
43PASS (10).toString(16) is 'a'
44PASS (8.5).toString(16) is '8.8'
45PASS (-8.5).toString(16) is '-8.8'
46PASS Number.NaN.toString(16) is 'NaN'
47PASS Number.POSITIVE_INFINITY.toString(16) is 'Infinity'
48PASS Number.NEGATIVE_INFINITY.toString(16) is '-Infinity'
49PASS Number.MAX_VALUE.toString(2).length is 1024
50PASS (1).valueOf() is 1
51PASS typeof (1).valueOf() is 'number'
52PASS Number(1234.567).toFixed(0) is "1235"
53PASS Number(1234.567).toFixed(undefined) is "1235"
54PASS Number(-1234.567).toFixed(0) is "-1235"
55PASS Number(-1234.567).toFixed(undefined) is "-1235"
56PASS Number(0).toFixed(7) is "0.0000000"
57PASS Number(0.003).toFixed(0) is "0"
58PASS Number(-0.003).toFixed(0) is "-0"
59PASS Number(40.1234567890123).toFixed(7) is "40.1234568"
60PASS Number(-40.1234567890123).toFixed(7) is "-40.1234568"
61PASS Number(4).toFixed(7) is "4.0000000"
62PASS Number(-4).toFixed(7) is "-4.0000000"
63PASS Number(0.000056).toFixed(7) is "0.0000560"
64PASS Number(-0.000056).toFixed(7) is "-0.0000560"
65PASS Number(NaN).toFixed(7) is "NaN"
66PASS Number(Infinity).toFixed(7) is "Infinity"
67PASS Number(-Infinity).toFixed(7) is "-Infinity"
68PASS Number(Math.pow(10,4)).toFixed(13) is "10000.0000000000000"
69PASS Number(Math.pow(10,17)).toFixed(16) is "100000000000000000.0000000000000000"
70PASS Number(Math.pow(10,18)).toFixed(17) is "1000000000000000000.00000000000000000"
71PASS Number(Math.pow(10,19)).toFixed(18) is "10000000000000000000.000000000000000000"
72PASS Number(Math.pow(10,17)).toFixed(20) is "100000000000000000.00000000000000000000"
73PASS Number(Math.pow(10,18)).toFixed(20) is "1000000000000000000.00000000000000000000"
74PASS Number(Math.pow(10,19)).toFixed(20) is "10000000000000000000.00000000000000000000"
75PASS Number(Math.pow(10,20)).toFixed(20) is "100000000000000000000.00000000000000000000"
76PASS Number(Math.pow(10,21)).toFixed(20) is "1e+21"
77PASS Number(-Math.pow(10,4)).toFixed(13) is "-10000.0000000000000"
78PASS Number(-Math.pow(10,17)).toFixed(16) is "-100000000000000000.0000000000000000"
79PASS Number(-Math.pow(10,18)).toFixed(17) is "-1000000000000000000.00000000000000000"
80PASS Number(-Math.pow(10,19)).toFixed(18) is "-10000000000000000000.000000000000000000"
81PASS Number(-Math.pow(10,17)).toFixed(20) is "-100000000000000000.00000000000000000000"
82PASS Number(-Math.pow(10,18)).toFixed(20) is "-1000000000000000000.00000000000000000000"
83PASS Number(-Math.pow(10,19)).toFixed(20) is "-10000000000000000000.00000000000000000000"
84PASS Number(-Math.pow(10,20)).toFixed(20) is "-100000000000000000000.00000000000000000000"
85PASS Number(-Math.pow(10,21)).toFixed(20) is "-1e+21"
86PASS toFixedOrException(2,-1).indexOf('Range') >= 0 is true
87PASS Number(2).toFixed(0) is "2"
88PASS Number(2).toFixed(20) is "2.00000000000000000000"
89PASS toFixedOrException(2,21).indexOf('Range') >= 0 is true
90PASS toFixedOrException(-2,-1).indexOf('Range') >= 0 is true
91PASS Number(-2).toFixed(0) is "-2"
92PASS Number(-2).toFixed(20) is "-2.00000000000000000000"
93PASS toFixedOrException(-2,21).indexOf('Range') >= 0 is true
94PASS Number(NaN).toExponential() is "NaN"
95PASS Number(Infinity).toExponential() is "Infinity"
96PASS Number(-Infinity).toExponential() is "-Infinity"
97PASS Number(NaN).toExponential(4) is "NaN"
98PASS Number(Infinity).toExponential(4) is "Infinity"
99PASS Number(-Infinity).toExponential(4) is "-Infinity"
100PASS Number(123.456).toExponential() is "1.23456e+2"
101PASS try { Number(123.456).toExponential(-1) } catch (e) { String(e).indexOf('Range') >= 0; } is true
102PASS Number(123.456).toExponential(0) is "1e+2"
103PASS Number(123.456).toExponential(1) is "1.2e+2"
104PASS Number(123.456).toExponential(2) is "1.23e+2"
105PASS Number(123.456).toExponential(3) is "1.235e+2"
106PASS Number(123.456).toExponential(4) is "1.2346e+2"
107PASS Number(123.456).toExponential(5) is "1.23456e+2"
108PASS Number(123.456).toExponential(6) is "1.234560e+2"
109PASS Number(123.456).toExponential(7) is "1.2345600e+2"
110PASS Number(123.456).toExponential(8) is "1.23456000e+2"
111PASS Number(123.456).toExponential(9) is "1.234560000e+2"
112PASS Number(123.456).toExponential(10) is "1.2345600000e+2"
113PASS Number(123.456).toExponential(11) is "1.23456000000e+2"
114PASS Number(123.456).toExponential(12) is "1.234560000000e+2"
115PASS Number(123.456).toExponential(13) is "1.2345600000000e+2"
116PASS Number(123.456).toExponential(14) is "1.23456000000000e+2"
117PASS Number(123.456).toExponential(15) is "1.234560000000000e+2"
118PASS Number(123.456).toExponential(16) is "1.2345600000000000e+2"
119PASS Number(123.456).toExponential(17) is "1.23456000000000003e+2"
120PASS Number(123.456).toExponential(18) is "1.234560000000000031e+2"
121PASS Number(123.456).toExponential(19) is "1.2345600000000000307e+2"
122PASS Number(123.456).toExponential(20) is "1.23456000000000003070e+2"
123PASS try { Number(123.456).toExponential(21) } catch (e) { String(e).indexOf('Range') >= 0; } is true
124PASS Number(-123.456).toExponential() is "-1.23456e+2"
125PASS try { Number(-123.456).toExponential(-1) } catch (e) { String(e).indexOf('Range') >= 0; } is true
126PASS Number(-123.456).toExponential(0) is "-1e+2"
127PASS Number(-123.456).toExponential(1) is "-1.2e+2"
128PASS Number(-123.456).toExponential(2) is "-1.23e+2"
129PASS Number(-123.456).toExponential(3) is "-1.235e+2"
130PASS Number(-123.456).toExponential(4) is "-1.2346e+2"
131PASS Number(-123.456).toExponential(5) is "-1.23456e+2"
132PASS Number(-123.456).toExponential(6) is "-1.234560e+2"
133PASS Number(-123.456).toExponential(7) is "-1.2345600e+2"
134PASS Number(-123.456).toExponential(8) is "-1.23456000e+2"
135PASS Number(-123.456).toExponential(9) is "-1.234560000e+2"
136PASS Number(-123.456).toExponential(10) is "-1.2345600000e+2"
137PASS Number(-123.456).toExponential(11) is "-1.23456000000e+2"
138PASS Number(-123.456).toExponential(12) is "-1.234560000000e+2"
139PASS Number(-123.456).toExponential(13) is "-1.2345600000000e+2"
140PASS Number(-123.456).toExponential(14) is "-1.23456000000000e+2"
141PASS Number(-123.456).toExponential(15) is "-1.234560000000000e+2"
142PASS Number(-123.456).toExponential(16) is "-1.2345600000000000e+2"
143PASS Number(-123.456).toExponential(17) is "-1.23456000000000003e+2"
144PASS Number(-123.456).toExponential(18) is "-1.234560000000000031e+2"
145PASS Number(-123.456).toExponential(19) is "-1.2345600000000000307e+2"
146PASS Number(-123.456).toExponential(20) is "-1.23456000000000003070e+2"
147PASS try { Number(-123.456).toExponential(21) } catch (e) { String(e).indexOf('Range') >= 0; } is true
148PASS Number(.000123456).toExponential() is "1.23456e-4"
149PASS try { Number(.000123456).toExponential(-1) } catch (e) { String(e).indexOf('Range') >= 0; } is true
150PASS Number(.000123456).toExponential(0) is "1e-4"
151PASS Number(.000123456).toExponential(1) is "1.2e-4"
152PASS Number(.000123456).toExponential(2) is "1.23e-4"
153PASS Number(.000123456).toExponential(3) is "1.235e-4"
154PASS Number(.000123456).toExponential(4) is "1.2346e-4"
155PASS Number(.000123456).toExponential(5) is "1.23456e-4"
156PASS Number(.000123456).toExponential(6) is "1.234560e-4"
157PASS Number(.000123456).toExponential(7) is "1.2345600e-4"
158PASS Number(.000123456).toExponential(8) is "1.23456000e-4"
159PASS Number(.000123456).toExponential(9) is "1.234560000e-4"
160PASS Number(.000123456).toExponential(10) is "1.2345600000e-4"
161PASS Number(.000123456).toExponential(11) is "1.23456000000e-4"
162PASS Number(.000123456).toExponential(12) is "1.234560000000e-4"
163PASS Number(.000123456).toExponential(13) is "1.2345600000000e-4"
164PASS Number(.000123456).toExponential(14) is "1.23456000000000e-4"
165PASS Number(.000123456).toExponential(15) is "1.234560000000000e-4"
166PASS Number(.000123456).toExponential(16) is "1.2345600000000001e-4"
167PASS Number(.000123456).toExponential(17) is "1.23456000000000005e-4"
168PASS Number(.000123456).toExponential(18) is "1.234560000000000052e-4"
169PASS Number(.000123456).toExponential(19) is "1.2345600000000000519e-4"
170PASS Number(.000123456).toExponential(20) is "1.23456000000000005188e-4"
171PASS try { Number(.000123456).toExponential(21) } catch (e) { String(e).indexOf('Range') >= 0; } is true
172PASS Number(-.000123456).toExponential() is "-1.23456e-4"
173PASS try { Number(-.000123456).toExponential(-1) } catch (e) { String(e).indexOf('Range') >= 0; } is true
174PASS Number(-.000123456).toExponential(0) is "-1e-4"
175PASS Number(-.000123456).toExponential(1) is "-1.2e-4"
176PASS Number(-.000123456).toExponential(2) is "-1.23e-4"
177PASS Number(-.000123456).toExponential(3) is "-1.235e-4"
178PASS Number(-.000123456).toExponential(4) is "-1.2346e-4"
179PASS Number(-.000123456).toExponential(5) is "-1.23456e-4"
180PASS Number(-.000123456).toExponential(6) is "-1.234560e-4"
181PASS Number(-.000123456).toExponential(7) is "-1.2345600e-4"
182PASS Number(-.000123456).toExponential(8) is "-1.23456000e-4"
183PASS Number(-.000123456).toExponential(9) is "-1.234560000e-4"
184PASS Number(-.000123456).toExponential(10) is "-1.2345600000e-4"
185PASS Number(-.000123456).toExponential(11) is "-1.23456000000e-4"
186PASS Number(-.000123456).toExponential(12) is "-1.234560000000e-4"
187PASS Number(-.000123456).toExponential(13) is "-1.2345600000000e-4"
188PASS Number(-.000123456).toExponential(14) is "-1.23456000000000e-4"
189PASS Number(-.000123456).toExponential(15) is "-1.234560000000000e-4"
190PASS Number(-.000123456).toExponential(16) is "-1.2345600000000001e-4"
191PASS Number(-.000123456).toExponential(17) is "-1.23456000000000005e-4"
192PASS Number(-.000123456).toExponential(18) is "-1.234560000000000052e-4"
193PASS Number(-.000123456).toExponential(19) is "-1.2345600000000000519e-4"
194PASS Number(-.000123456).toExponential(20) is "-1.23456000000000005188e-4"
195PASS try { Number(-.000123456).toExponential(21) } catch (e) { String(e).indexOf('Range') >= 0; } is true
196PASS Number(123.4567890123456789012).toExponential() is "1.2345678901234568e+2"
197PASS try { Number(123.4567890123456789012).toExponential(-1) } catch (e) { String(e).indexOf('Range') >= 0; } is true
198PASS Number(123.4567890123456789012).toExponential(0) is "1e+2"
199PASS Number(123.4567890123456789012).toExponential(1) is "1.2e+2"
200PASS Number(123.4567890123456789012).toExponential(2) is "1.23e+2"
201PASS Number(123.4567890123456789012).toExponential(3) is "1.235e+2"
202PASS Number(123.4567890123456789012).toExponential(4) is "1.2346e+2"
203PASS Number(123.4567890123456789012).toExponential(5) is "1.23457e+2"
204PASS Number(123.4567890123456789012).toExponential(6) is "1.234568e+2"
205PASS Number(123.4567890123456789012).toExponential(7) is "1.2345679e+2"
206PASS Number(123.4567890123456789012).toExponential(8) is "1.23456789e+2"
207PASS Number(123.4567890123456789012).toExponential(9) is "1.234567890e+2"
208PASS Number(123.4567890123456789012).toExponential(10) is "1.2345678901e+2"
209PASS Number(123.4567890123456789012).toExponential(11) is "1.23456789012e+2"
210PASS Number(123.4567890123456789012).toExponential(12) is "1.234567890123e+2"
211PASS Number(123.4567890123456789012).toExponential(13) is "1.2345678901235e+2"
212PASS Number(123.4567890123456789012).toExponential(14) is "1.23456789012346e+2"
213PASS Number(123.4567890123456789012).toExponential(15) is "1.234567890123457e+2"
214PASS Number(123.4567890123456789012).toExponential(16) is "1.2345678901234568e+2"
215PASS Number(123.4567890123456789012).toExponential(17) is "1.23456789012345681e+2"
216PASS Number(123.4567890123456789012).toExponential(18) is "1.234567890123456806e+2"
217PASS Number(123.4567890123456789012).toExponential(19) is "1.2345678901234568059e+2"
218PASS Number(123.4567890123456789012).toExponential(20) is "1.23456789012345680590e+2"
219PASS try { Number(123.4567890123456789012).toExponential(21) } catch (e) { String(e).indexOf('Range') >= 0; } is true
220PASS Number(-123.4567890123456789012).toExponential() is "-1.2345678901234568e+2"
221PASS try { Number(-123.4567890123456789012).toExponential(-1) } catch (e) { String(e).indexOf('Range') >= 0; } is true
222PASS Number(-123.4567890123456789012).toExponential(0) is "-1e+2"
223PASS Number(-123.4567890123456789012).toExponential(1) is "-1.2e+2"
224PASS Number(-123.4567890123456789012).toExponential(2) is "-1.23e+2"
225PASS Number(-123.4567890123456789012).toExponential(3) is "-1.235e+2"
226PASS Number(-123.4567890123456789012).toExponential(4) is "-1.2346e+2"
227PASS Number(-123.4567890123456789012).toExponential(5) is "-1.23457e+2"
228PASS Number(-123.4567890123456789012).toExponential(6) is "-1.234568e+2"
229PASS Number(-123.4567890123456789012).toExponential(7) is "-1.2345679e+2"
230PASS Number(-123.4567890123456789012).toExponential(8) is "-1.23456789e+2"
231PASS Number(-123.4567890123456789012).toExponential(9) is "-1.234567890e+2"
232PASS Number(-123.4567890123456789012).toExponential(10) is "-1.2345678901e+2"
233PASS Number(-123.4567890123456789012).toExponential(11) is "-1.23456789012e+2"
234PASS Number(-123.4567890123456789012).toExponential(12) is "-1.234567890123e+2"
235PASS Number(-123.4567890123456789012).toExponential(13) is "-1.2345678901235e+2"
236PASS Number(-123.4567890123456789012).toExponential(14) is "-1.23456789012346e+2"
237PASS Number(-123.4567890123456789012).toExponential(15) is "-1.234567890123457e+2"
238PASS Number(-123.4567890123456789012).toExponential(16) is "-1.2345678901234568e+2"
239PASS Number(-123.4567890123456789012).toExponential(17) is "-1.23456789012345681e+2"
240PASS Number(-123.4567890123456789012).toExponential(18) is "-1.234567890123456806e+2"
241PASS Number(-123.4567890123456789012).toExponential(19) is "-1.2345678901234568059e+2"
242PASS Number(-123.4567890123456789012).toExponential(20) is "-1.23456789012345680590e+2"
243PASS try { Number(-123.4567890123456789012).toExponential(21) } catch (e) { String(e).indexOf('Range') >= 0; } is true
244PASS Number(.0000000000000000000001).toExponential() is "1e-22"
245PASS Number(.0000000000000000000012).toExponential() is "1.2e-21"
246PASS Number(.0000000000000000000123).toExponential() is "1.23e-20"
247PASS Number(.0000000000000000000123).toExponential() is "1.23e-20"
248PASS Number(.0000000000000000001234).toExponential() is "1.234e-19"
249PASS Number(.0000000000000000012345).toExponential() is "1.2345e-18"
250PASS Number(.0000000000000000123456).toExponential() is "1.23456e-17"
251PASS Number(.0000000000000001234567).toExponential() is "1.234567e-16"
252PASS Number(.0000000000000012345678).toExponential() is "1.2345678e-15"
253PASS Number(.0000000000000123456789).toExponential() is "1.23456789e-14"
254PASS Number(.0000000000001234567890).toExponential() is "1.23456789e-13"
255PASS Number(.0000000000012345678901).toExponential() is "1.2345678901e-12"
256PASS Number(.0000000000123456789012).toExponential() is "1.23456789012e-11"
257PASS Number(.0000000001234567890123).toExponential() is "1.234567890123e-10"
258PASS Number(.0000000012345678901234).toExponential() is "1.2345678901234e-9"
259PASS Number(.0000000123456789012345).toExponential() is "1.23456789012345e-8"
260PASS Number(.0000001234567890123456).toExponential() is "1.234567890123456e-7"
261PASS Number(.0000012345678901234567).toExponential() is "1.2345678901234567e-6"
262PASS Number(.0000123456789012345678).toExponential() is "1.2345678901234568e-5"
263PASS Number(.0001234567890123456789).toExponential() is "1.2345678901234567e-4"
264PASS Number(.0012345678901234567890).toExponential() is "1.2345678901234567e-3"
265PASS Number(.0123456789012345678901).toExponential() is "1.2345678901234568e-2"
266PASS Number(1.234567890123456789012).toExponential() is "1.2345678901234567e+0"
267PASS Number(12.34567890123456789012).toExponential() is "1.2345678901234567e+1"
268PASS Number(123.4567890123456789012).toExponential() is "1.2345678901234568e+2"
269PASS Number(1234.567890123456789012).toExponential() is "1.234567890123457e+3"
270PASS Number(12345.67890123456789012).toExponential() is "1.2345678901234567e+4"
271PASS Number(123456.7890123456789012).toExponential() is "1.2345678901234567e+5"
272PASS Number(1234567.890123456789012).toExponential() is "1.2345678901234567e+6"
273PASS Number(12345678.90123456789012).toExponential() is "1.2345678901234567e+7"
274PASS Number(123456789.0123456789012).toExponential() is "1.2345678901234567e+8"
275PASS Number(1234567890.123456789012).toExponential() is "1.2345678901234567e+9"
276PASS Number(12345678901.23456789012).toExponential() is "1.2345678901234568e+10"
277PASS Number(123456789012.3456789012).toExponential() is "1.2345678901234567e+11"
278PASS Number(1234567890123.456789012).toExponential() is "1.2345678901234568e+12"
279PASS Number(12345678901234.56789012).toExponential() is "1.2345678901234568e+13"
280PASS Number(123456789012345.6789012).toExponential() is "1.2345678901234567e+14"
281PASS Number(1234567890123456.789012).toExponential() is "1.2345678901234568e+15"
282PASS Number(12345678901234567.89012).toExponential() is "1.2345678901234568e+16"
283PASS Number(123456789012345678.9012).toExponential() is "1.2345678901234568e+17"
284PASS Number(1234567890123456789.012).toExponential() is "1.2345678901234568e+18"
285PASS Number(12345678901234567890.12).toExponential() is "1.2345678901234567e+19"
286PASS Number(123456789012345678901.2).toExponential() is "1.2345678901234568e+20"
287PASS Number(-.0000000000000000000001).toExponential() is "-1e-22"
288PASS Number(-.0000000000000000000012).toExponential() is "-1.2e-21"
289PASS Number(-.0000000000000000000123).toExponential() is "-1.23e-20"
290PASS Number(-.0000000000000000000123).toExponential() is "-1.23e-20"
291PASS Number(-.0000000000000000001234).toExponential() is "-1.234e-19"
292PASS Number(-.0000000000000000012345).toExponential() is "-1.2345e-18"
293PASS Number(-.0000000000000000123456).toExponential() is "-1.23456e-17"
294PASS Number(-.0000000000000001234567).toExponential() is "-1.234567e-16"
295PASS Number(-.0000000000000012345678).toExponential() is "-1.2345678e-15"
296PASS Number(-.0000000000000123456789).toExponential() is "-1.23456789e-14"
297PASS Number(-.0000000000001234567890).toExponential() is "-1.23456789e-13"
298PASS Number(-.0000000000012345678901).toExponential() is "-1.2345678901e-12"
299PASS Number(-.0000000000123456789012).toExponential() is "-1.23456789012e-11"
300PASS Number(-.0000000001234567890123).toExponential() is "-1.234567890123e-10"
301PASS Number(-.0000000012345678901234).toExponential() is "-1.2345678901234e-9"
302PASS Number(-.0000000123456789012345).toExponential() is "-1.23456789012345e-8"
303PASS Number(-.0000001234567890123456).toExponential() is "-1.234567890123456e-7"
304PASS Number(-.0000012345678901234567).toExponential() is "-1.2345678901234567e-6"
305PASS Number(-.0000123456789012345678).toExponential() is "-1.2345678901234568e-5"
306PASS Number(-.0001234567890123456789).toExponential() is "-1.2345678901234567e-4"
307PASS Number(-.0012345678901234567890).toExponential() is "-1.2345678901234567e-3"
308PASS Number(-.0123456789012345678901).toExponential() is "-1.2345678901234568e-2"
309PASS Number(-1.234567890123456789012).toExponential() is "-1.2345678901234567e+0"
310PASS Number(-12.34567890123456789012).toExponential() is "-1.2345678901234567e+1"
311PASS Number(-123.4567890123456789012).toExponential() is "-1.2345678901234568e+2"
312PASS Number(-1234.567890123456789012).toExponential() is "-1.234567890123457e+3"
313PASS Number(-12345.67890123456789012).toExponential() is "-1.2345678901234567e+4"
314PASS Number(-123456.7890123456789012).toExponential() is "-1.2345678901234567e+5"
315PASS Number(-1234567.890123456789012).toExponential() is "-1.2345678901234567e+6"
316PASS Number(-12345678.90123456789012).toExponential() is "-1.2345678901234567e+7"
317PASS Number(-123456789.0123456789012).toExponential() is "-1.2345678901234567e+8"
318PASS Number(-1234567890.123456789012).toExponential() is "-1.2345678901234567e+9"
319PASS Number(-12345678901.23456789012).toExponential() is "-1.2345678901234568e+10"
320PASS Number(-123456789012.3456789012).toExponential() is "-1.2345678901234567e+11"
321PASS Number(-1234567890123.456789012).toExponential() is "-1.2345678901234568e+12"
322PASS Number(-12345678901234.56789012).toExponential() is "-1.2345678901234568e+13"
323PASS Number(-123456789012345.6789012).toExponential() is "-1.2345678901234567e+14"
324PASS Number(-1234567890123456.789012).toExponential() is "-1.2345678901234568e+15"
325PASS Number(-12345678901234567.89012).toExponential() is "-1.2345678901234568e+16"
326PASS Number(-123456789012345678.9012).toExponential() is "-1.2345678901234568e+17"
327PASS Number(-1234567890123456789.012).toExponential() is "-1.2345678901234568e+18"
328PASS Number(-12345678901234567890.12).toExponential() is "-1.2345678901234567e+19"
329PASS Number(-123456789012345678901.2).toExponential() is "-1.2345678901234568e+20"
330PASS try { Number(1).toPrecision(-1); } catch (e) { String(e).indexOf('Range') >= 0; } is true
331PASS try { Number(1).toPrecision(0); } catch (e) { String(e).indexOf('Range') >= 0; } is true
332PASS try { Number(1).toPrecision(1); } catch (e) { String(e); } is "1"
333PASS try { Number(1).toPrecision(21); } catch (e) { String(e); } is "1.00000000000000000000"
334PASS try { Number(1).toPrecision(22); } catch (e) { String(e).indexOf('Range') >= 0; } is true
335PASS Number(NaN).toPrecision() is "NaN"
336PASS Number(NaN).toPrecision(1) is "NaN"
337PASS Number(Infinity).toPrecision() is "Infinity"
338PASS Number(Infinity).toPrecision(1) is "Infinity"
339PASS Number(-Infinity).toPrecision() is "-Infinity"
340PASS Number(-Infinity).toPrecision(1) is "-Infinity"
341PASS Number(.0000000012345).toPrecision(2) is "1.2e-9"
342PASS Number(.000000012345).toPrecision(2) is "1.2e-8"
343PASS Number(.00000012345).toPrecision(2) is "1.2e-7"
344PASS Number(.0000012345).toPrecision(2) is "0.0000012"
345PASS Number(.000012345).toPrecision(2) is "0.000012"
346PASS Number(.00012345).toPrecision(2) is "0.00012"
347PASS Number(.0012345).toPrecision(2) is "0.0012"
348PASS Number(.012345).toPrecision(2) is "0.012"
349PASS Number(.12345).toPrecision(2) is "0.12"
350PASS Number(1.2345).toPrecision(2) is "1.2"
351PASS Number(12.345).toPrecision(2) is "12"
352PASS Number(123.45).toPrecision(2) is "1.2e+2"
353PASS Number(1234.5).toPrecision(2) is "1.2e+3"
354PASS Number(12345).toPrecision(2) is "1.2e+4"
355PASS Number(12345.67).toPrecision(4) is "1.235e+4"
356PASS Number(12344.67).toPrecision(4) is "1.234e+4"
357PASS Number(0.0001234567890123456789012345).toPrecision() is "0.00012345678901234567"
358PASS Number(0.0001234567890123456789012345).toPrecision(1) is "0.0001"
359PASS Number(0.0001234567890123456789012345).toPrecision(2) is "0.00012"
360PASS Number(0.0001234567890123456789012345).toPrecision(3) is "0.000123"
361PASS Number(0.0001234567890123456789012345).toPrecision(4) is "0.0001235"
362PASS Number(0.0001234567890123456789012345).toPrecision(5) is "0.00012346"
363PASS Number(0.0001234567890123456789012345).toPrecision(6) is "0.000123457"
364PASS Number(0.0001234567890123456789012345).toPrecision(7) is "0.0001234568"
365PASS Number(0.0001234567890123456789012345).toPrecision(8) is "0.00012345679"
366PASS Number(0.0001234567890123456789012345).toPrecision(9) is "0.000123456789"
367PASS Number(0.0001234567890123456789012345).toPrecision(10) is "0.0001234567890"
368PASS Number(0.0001234567890123456789012345).toPrecision(11) is "0.00012345678901"
369PASS Number(0.0001234567890123456789012345).toPrecision(12) is "0.000123456789012"
370PASS Number(0.0001234567890123456789012345).toPrecision(13) is "0.0001234567890123"
371PASS Number(0.0001234567890123456789012345).toPrecision(14) is "0.00012345678901235"
372PASS Number(0.0001234567890123456789012345).toPrecision(15) is "0.000123456789012346"
373PASS Number(0.0001234567890123456789012345).toPrecision(16) is "0.0001234567890123457"
374PASS Number(0.0001234567890123456789012345).toPrecision(17) is "0.00012345678901234567"
375PASS Number(0.0001234567890123456789012345).toPrecision(18) is "0.000123456789012345671"
376PASS Number(0.0001234567890123456789012345).toPrecision(19) is "0.0001234567890123456713"
377PASS Number(0.0001234567890123456789012345).toPrecision(20) is "0.00012345678901234567130"
378PASS Number(0.0001234567890123456789012345).toPrecision(21) is "0.000123456789012345671298"
379PASS Number(12345.67890123456789012345).toPrecision() is "12345.678901234567"
380PASS Number(12345.67890123456789012345).toPrecision(1) is "1e+4"
381PASS Number(12345.67890123456789012345).toPrecision(2) is "1.2e+4"
382PASS Number(12345.67890123456789012345).toPrecision(3) is "1.23e+4"
383PASS Number(12345.67890123456789012345).toPrecision(4) is "1.235e+4"
384PASS Number(12345.67890123456789012345).toPrecision(5) is "12346"
385PASS Number(12345.67890123456789012345).toPrecision(6) is "12345.7"
386PASS Number(12345.67890123456789012345).toPrecision(7) is "12345.68"
387PASS Number(12345.67890123456789012345).toPrecision(8) is "12345.679"
388PASS Number(12345.67890123456789012345).toPrecision(9) is "12345.6789"
389PASS Number(12345.67890123456789012345).toPrecision(10) is "12345.67890"
390PASS Number(12345.67890123456789012345).toPrecision(11) is "12345.678901"
391PASS Number(12345.67890123456789012345).toPrecision(12) is "12345.6789012"
392PASS Number(12345.67890123456789012345).toPrecision(13) is "12345.67890123"
393PASS Number(12345.67890123456789012345).toPrecision(14) is "12345.678901235"
394PASS Number(12345.67890123456789012345).toPrecision(15) is "12345.6789012346"
395PASS Number(12345.67890123456789012345).toPrecision(16) is "12345.67890123457"
396PASS Number(12345.67890123456789012345).toPrecision(17) is "12345.678901234567"
397PASS Number(12345.67890123456789012345).toPrecision(18) is "12345.6789012345671"
398PASS Number(12345.67890123456789012345).toPrecision(19) is "12345.67890123456709"
399PASS Number(12345.67890123456789012345).toPrecision(20) is "12345.678901234567093"
400PASS Number(12345.67890123456789012345).toPrecision(21) is "12345.6789012345670926"
401PASS Number(-.0000000012345).toPrecision(2) is "-1.2e-9"
402PASS Number(-.000000012345).toPrecision(2) is "-1.2e-8"
403PASS Number(-.00000012345).toPrecision(2) is "-1.2e-7"
404PASS Number(-.0000012345).toPrecision(2) is "-0.0000012"
405PASS Number(-.000012345).toPrecision(2) is "-0.000012"
406PASS Number(-.00012345).toPrecision(2) is "-0.00012"
407PASS Number(-.0012345).toPrecision(2) is "-0.0012"
408PASS Number(-.012345).toPrecision(2) is "-0.012"
409PASS Number(-.12345).toPrecision(2) is "-0.12"
410PASS Number(-1.2345).toPrecision(2) is "-1.2"
411PASS Number(-12.345).toPrecision(2) is "-12"
412PASS Number(-123.45).toPrecision(2) is "-1.2e+2"
413PASS Number(-1234.5).toPrecision(2) is "-1.2e+3"
414PASS Number(-12345).toPrecision(2) is "-1.2e+4"
415PASS Number(-12345.67).toPrecision(4) is "-1.235e+4"
416PASS Number(-12344.67).toPrecision(4) is "-1.234e+4"
417PASS Number(-0.0001234567890123456789012345).toPrecision() is "-0.00012345678901234567"
418PASS Number(-0.0001234567890123456789012345).toPrecision(1) is "-0.0001"
419PASS Number(-0.0001234567890123456789012345).toPrecision(2) is "-0.00012"
420PASS Number(-0.0001234567890123456789012345).toPrecision(3) is "-0.000123"
421PASS Number(-0.0001234567890123456789012345).toPrecision(4) is "-0.0001235"
422PASS Number(-0.0001234567890123456789012345).toPrecision(5) is "-0.00012346"
423PASS Number(-0.0001234567890123456789012345).toPrecision(6) is "-0.000123457"
424PASS Number(-0.0001234567890123456789012345).toPrecision(7) is "-0.0001234568"
425PASS Number(-0.0001234567890123456789012345).toPrecision(8) is "-0.00012345679"
426PASS Number(-0.0001234567890123456789012345).toPrecision(9) is "-0.000123456789"
427PASS Number(-0.0001234567890123456789012345).toPrecision(10) is "-0.0001234567890"
428PASS Number(-0.0001234567890123456789012345).toPrecision(11) is "-0.00012345678901"
429PASS Number(-0.0001234567890123456789012345).toPrecision(12) is "-0.000123456789012"
430PASS Number(-0.0001234567890123456789012345).toPrecision(13) is "-0.0001234567890123"
431PASS Number(-0.0001234567890123456789012345).toPrecision(14) is "-0.00012345678901235"
432PASS Number(-0.0001234567890123456789012345).toPrecision(15) is "-0.000123456789012346"
433PASS Number(-0.0001234567890123456789012345).toPrecision(16) is "-0.0001234567890123457"
434PASS Number(-0.0001234567890123456789012345).toPrecision(17) is "-0.00012345678901234567"
435PASS Number(-0.0001234567890123456789012345).toPrecision(18) is "-0.000123456789012345671"
436PASS Number(-0.0001234567890123456789012345).toPrecision(19) is "-0.0001234567890123456713"
437PASS Number(-0.0001234567890123456789012345).toPrecision(20) is "-0.00012345678901234567130"
438PASS Number(-0.0001234567890123456789012345).toPrecision(21) is "-0.000123456789012345671298"
439PASS Number(-12345.67890123456789012345).toPrecision() is "-12345.678901234567"
440PASS Number(-12345.67890123456789012345).toPrecision(1) is "-1e+4"
441PASS Number(-12345.67890123456789012345).toPrecision(2) is "-1.2e+4"
442PASS Number(-12345.67890123456789012345).toPrecision(3) is "-1.23e+4"
443PASS Number(-12345.67890123456789012345).toPrecision(4) is "-1.235e+4"
444PASS Number(-12345.67890123456789012345).toPrecision(5) is "-12346"
445PASS Number(-12345.67890123456789012345).toPrecision(6) is "-12345.7"
446PASS Number(-12345.67890123456789012345).toPrecision(7) is "-12345.68"
447PASS Number(-12345.67890123456789012345).toPrecision(8) is "-12345.679"
448PASS Number(-12345.67890123456789012345).toPrecision(9) is "-12345.6789"
449PASS Number(-12345.67890123456789012345).toPrecision(10) is "-12345.67890"
450PASS Number(-12345.67890123456789012345).toPrecision(11) is "-12345.678901"
451PASS Number(-12345.67890123456789012345).toPrecision(12) is "-12345.6789012"
452PASS Number(-12345.67890123456789012345).toPrecision(13) is "-12345.67890123"
453PASS Number(-12345.67890123456789012345).toPrecision(14) is "-12345.678901235"
454PASS Number(-12345.67890123456789012345).toPrecision(15) is "-12345.6789012346"
455PASS Number(-12345.67890123456789012345).toPrecision(16) is "-12345.67890123457"
456PASS Number(-12345.67890123456789012345).toPrecision(17) is "-12345.678901234567"
457PASS Number(-12345.67890123456789012345).toPrecision(18) is "-12345.6789012345671"
458PASS Number(-12345.67890123456789012345).toPrecision(19) is "-12345.67890123456709"
459PASS Number(-12345.67890123456789012345).toPrecision(20) is "-12345.678901234567093"
460PASS Number(-12345.67890123456789012345).toPrecision(21) is "-12345.6789012345670926"
461PASS Number(0).toPrecision() is "0"
462PASS Number(0).toPrecision(1) is "0"
463PASS Number(0).toPrecision(2) is "0.0"
464PASS Number(0).toPrecision(3) is "0.00"
465PASS Number(0).toPrecision(4) is "0.000"
466PASS Number(0).toPrecision(5) is "0.0000"
467PASS Number(0).toPrecision(6) is "0.00000"
468PASS Number(0).toPrecision(7) is "0.000000"
469PASS Number(0).toPrecision(8) is "0.0000000"
470PASS Number(0).toPrecision(9) is "0.00000000"
471PASS Number(0).toPrecision(10) is "0.000000000"
472PASS Number(0).toPrecision(11) is "0.0000000000"
473PASS Number(0).toPrecision(12) is "0.00000000000"
474PASS Number(0).toPrecision(13) is "0.000000000000"
475PASS Number(0).toPrecision(14) is "0.0000000000000"
476PASS Number(0).toPrecision(15) is "0.00000000000000"
477PASS Number(0).toPrecision(16) is "0.000000000000000"
478PASS Number(0).toPrecision(17) is "0.0000000000000000"
479PASS Number(0).toPrecision(18) is "0.00000000000000000"
480PASS Number(0).toPrecision(19) is "0.000000000000000000"
481PASS Number(0).toPrecision(20) is "0.0000000000000000000"
482PASS Number(0).toPrecision(21) is "0.00000000000000000000"
483PASS successfullyParsed is true
484
485TEST COMPLETE
486
487