]>
git.saurik.com Git - apple/javascriptcore.git/blob - tests/mozilla/ecma/GlobalObject/15.1.2.7.js
1 /* The contents of this file are subject to the Netscape Public
2 * License Version 1.1 (the "License"); you may not use this file
3 * except in compliance with the License. You may obtain a copy of
4 * the License at http://www.mozilla.org/NPL/
6 * Software distributed under the License is distributed on an "AS
7 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
8 * implied. See the License for the specific language governing
9 * rights and limitations under the License.
11 * The Original Code is Mozilla Communicator client code, released March
14 * The Initial Developer of the Original Code is Netscape Communications
15 * Corporation. Portions created by Netscape are
16 * Copyright (C) 1998 Netscape Communications Corporation. All
23 File Name: 15.1.2.7.js
24 ECMA Section: 15.1.2.7 isFinite(number)
26 Description: Applies ToNumber to its argument, then returns false if
27 the result is NaN, Infinity, or -Infinity, and otherwise
30 Author: christine@netscape.com
34 var SECTION
= "15.1.2.7" ;
35 var VERSION
= "ECMA_1" ;
37 var TITLE
= "isFinite( x )" ;
39 var BUGNUMBER
= "77391" ;
41 writeHeaderToLog ( SECTION
+ " " + TITLE
);
43 var testcases
= getTestCases ();
47 function getTestCases () {
48 var array
= new Array ();
51 array
[ item
++] = new TestCase ( SECTION
, "isFinite.length" , 1 , isFinite
. length
);
52 array
[ item
++] = new TestCase ( SECTION
, "isFinite.length = null; isFinite.length" , 1 , eval ( "isFinite.length=null; isFinite.length" ) );
53 array
[ item
++] = new TestCase ( SECTION
, "delete isFinite.length" , false , delete isFinite
. length
);
54 array
[ item
++] = new TestCase ( SECTION
, "delete isFinite.length; isFinite.length" , 1 , eval ( "delete isFinite.length; isFinite.length" ) );
55 array
[ item
++] = new TestCase ( SECTION
, "var MYPROPS=''; for ( p in isFinite ) { MYPROPS+= p }; MYPROPS" , "" , eval ( "var MYPROPS=''; for ( p in isFinite ) { MYPROPS += p }; MYPROPS" ) );
57 array
[ item
++] = new TestCase ( SECTION
, "isFinite()" , false , isFinite () );
58 array
[ item
++] = new TestCase ( SECTION
, "isFinite( null )" , true , isFinite ( null ) );
59 array
[ item
++] = new TestCase ( SECTION
, "isFinite( void 0 )" , false , isFinite ( void 0 ) );
60 array
[ item
++] = new TestCase ( SECTION
, "isFinite( false )" , true , isFinite ( false ) );
61 array
[ item
++] = new TestCase ( SECTION
, "isFinite( true)" , true , isFinite ( true ) );
62 array
[ item
++] = new TestCase ( SECTION
, "isFinite( ' ' )" , true , isFinite ( " " ) );
64 array
[ item
++] = new TestCase ( SECTION
, "isFinite( new Boolean(true) )" , true , isFinite ( new Boolean ( true )) );
65 array
[ item
++] = new TestCase ( SECTION
, "isFinite( new Boolean(false) )" , true , isFinite ( new Boolean ( false )) );
67 array
[ item
++] = new TestCase ( SECTION
, "isFinite( 0 )" , true , isFinite ( 0 ) );
68 array
[ item
++] = new TestCase ( SECTION
, "isFinite( 1 )" , true , isFinite ( 1 ) );
69 array
[ item
++] = new TestCase ( SECTION
, "isFinite( 2 )" , true , isFinite ( 2 ) );
70 array
[ item
++] = new TestCase ( SECTION
, "isFinite( 3 )" , true , isFinite ( 3 ) );
71 array
[ item
++] = new TestCase ( SECTION
, "isFinite( 4 )" , true , isFinite ( 4 ) );
72 array
[ item
++] = new TestCase ( SECTION
, "isFinite( 5 )" , true , isFinite ( 5 ) );
73 array
[ item
++] = new TestCase ( SECTION
, "isFinite( 6 )" , true , isFinite ( 6 ) );
74 array
[ item
++] = new TestCase ( SECTION
, "isFinite( 7 )" , true , isFinite ( 7 ) );
75 array
[ item
++] = new TestCase ( SECTION
, "isFinite( 8 )" , true , isFinite ( 8 ) );
76 array
[ item
++] = new TestCase ( SECTION
, "isFinite( 9 )" , true , isFinite ( 9 ) );
78 array
[ item
++] = new TestCase ( SECTION
, "isFinite( '0' )" , true , isFinite ( '0' ) );
79 array
[ item
++] = new TestCase ( SECTION
, "isFinite( '1' )" , true , isFinite ( '1' ) );
80 array
[ item
++] = new TestCase ( SECTION
, "isFinite( '2' )" , true , isFinite ( '2' ) );
81 array
[ item
++] = new TestCase ( SECTION
, "isFinite( '3' )" , true , isFinite ( '3' ) );
82 array
[ item
++] = new TestCase ( SECTION
, "isFinite( '4' )" , true , isFinite ( '4' ) );
83 array
[ item
++] = new TestCase ( SECTION
, "isFinite( '5' )" , true , isFinite ( '5' ) );
84 array
[ item
++] = new TestCase ( SECTION
, "isFinite( '6' )" , true , isFinite ( '6' ) );
85 array
[ item
++] = new TestCase ( SECTION
, "isFinite( '7' )" , true , isFinite ( '7' ) );
86 array
[ item
++] = new TestCase ( SECTION
, "isFinite( '8' )" , true , isFinite ( '8' ) );
87 array
[ item
++] = new TestCase ( SECTION
, "isFinite( '9' )" , true , isFinite ( '9' ) );
89 array
[ item
++] = new TestCase ( SECTION
, "isFinite( 0x0a )" , true , isFinite ( 0x0a ) );
90 array
[ item
++] = new TestCase ( SECTION
, "isFinite( 0xaa )" , true , isFinite ( 0xaa ) );
91 array
[ item
++] = new TestCase ( SECTION
, "isFinite( 0x0A )" , true , isFinite ( 0x0A ) );
92 array
[ item
++] = new TestCase ( SECTION
, "isFinite( 0xAA )" , true , isFinite ( 0xAA ) );
94 array
[ item
++] = new TestCase ( SECTION
, "isFinite( '0x0a' )" , true , isFinite ( "0x0a" ) );
95 array
[ item
++] = new TestCase ( SECTION
, "isFinite( '0xaa' )" , true , isFinite ( "0xaa" ) );
96 array
[ item
++] = new TestCase ( SECTION
, "isFinite( '0x0A' )" , true , isFinite ( "0x0A" ) );
97 array
[ item
++] = new TestCase ( SECTION
, "isFinite( '0xAA' )" , true , isFinite ( "0xAA" ) );
99 array
[ item
++] = new TestCase ( SECTION
, "isFinite( 077 )" , true , isFinite ( 077 ) );
100 array
[ item
++] = new TestCase ( SECTION
, "isFinite( '077' )" , true , isFinite ( "077" ) );
102 array
[ item
++] = new TestCase ( SECTION
, "isFinite( new String('Infinity') )" , false , isFinite ( new String ( "Infinity" )) );
103 array
[ item
++] = new TestCase ( SECTION
, "isFinite( new String('-Infinity') )" , false , isFinite ( new String ( "-Infinity" )) );
105 array
[ item
++] = new TestCase ( SECTION
, "isFinite( 'Infinity' )" , false , isFinite ( "Infinity" ) );
106 array
[ item
++] = new TestCase ( SECTION
, "isFinite( '-Infinity' )" , false , isFinite ( "-Infinity" ) );
107 array
[ item
++] = new TestCase ( SECTION
, "isFinite( Number.POSITIVE_INFINITY )" , false , isFinite ( Number
. POSITIVE_INFINITY
) );
108 array
[ item
++] = new TestCase ( SECTION
, "isFinite( Number.NEGATIVE_INFINITY )" , false , isFinite ( Number
. NEGATIVE_INFINITY
) );
109 array
[ item
++] = new TestCase ( SECTION
, "isFinite( Number.NaN )" , false , isFinite ( Number
. NaN
) );
111 array
[ item
++] = new TestCase ( SECTION
, "isFinite( Infinity )" , false , isFinite ( Infinity
) );
112 array
[ item
++] = new TestCase ( SECTION
, "isFinite( -Infinity )" , false , isFinite (- Infinity
) );
113 array
[ item
++] = new TestCase ( SECTION
, "isFinite( NaN )" , false , isFinite ( NaN
) );
116 array
[ item
++] = new TestCase ( SECTION
, "isFinite( Number.MAX_VALUE )" , true , isFinite ( Number
. MAX_VALUE
) );
117 array
[ item
++] = new TestCase ( SECTION
, "isFinite( Number.MIN_VALUE )" , true , isFinite ( Number
. MIN_VALUE
) );
122 for ( tc
= 0 ; tc
< testcases
. length
; tc
++ ) {
123 testcases
[ tc
]. passed
= writeTestCaseResult (
124 testcases
[ tc
]. expect
,
125 testcases
[ tc
]. actual
,
126 testcases
[ tc
]. description
+ " = " + testcases
[ tc
]. actual
);
127 testcases
[ tc
]. reason
+= ( testcases
[ tc
]. passed
) ? "" : "wrong value " ;
130 return ( testcases
);