]>
git.saurik.com Git - apple/javascriptcore.git/blob - tests/mozilla/ecma/Math/15.8.2.11.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.8.2.11.js
24 ECMA Section: 15.8.2.11 Math.max(x, y)
25 Description: return the smaller of the two arguments.
27 - if x is NaN or y is NaN return NaN
30 - if x is +0 and y is +0 return +0
31 - if x is +0 and y is -0 return -0
32 - if x is -0 and y is +0 return -0
33 - if x is -0 and y is -0 return -0
34 Author: christine@netscape.com
38 var SECTION
= "15.8.2.11";
39 var VERSION
= "ECMA_1";
41 var TITLE
= "Math.max(x, y)";
42 var BUGNUMBER
="76439";
44 writeHeaderToLog( SECTION
+ " "+ TITLE
);
46 var testcases
= getTestCases();
49 function getTestCases() {
50 var array
= new Array();
53 array
[item
++] = new TestCase( SECTION
, "Math.max.length", 2, Math
.max
.length
);
55 array
[item
++] = new TestCase( SECTION
, "Math.max()", -Infinity
, Math
.max() );
56 array
[item
++] = new TestCase( SECTION
, "Math.max(void 0, 1)", Number
.NaN
, Math
.max( void 0, 1 ) );
57 array
[item
++] = new TestCase( SECTION
, "Math.max(void 0, void 0)", Number
.NaN
, Math
.max( void 0, void 0 ) );
58 array
[item
++] = new TestCase( SECTION
, "Math.max(null, 1)", 1, Math
.max( null, 1 ) );
59 array
[item
++] = new TestCase( SECTION
, "Math.max(-1, null)", 0, Math
.max( -1, null ) );
60 array
[item
++] = new TestCase( SECTION
, "Math.max(true, false)", 1, Math
.max(true,false) );
62 array
[item
++] = new TestCase( SECTION
, "Math.max('-99','99')", 99, Math
.max( "-99","99") );
64 array
[item
++] = new TestCase( SECTION
, "Math.max(NaN, Infinity)", Number
.NaN
, Math
.max(Number
.NaN
,Number
.POSITIVE_INFINITY
) );
65 array
[item
++] = new TestCase( SECTION
, "Math.max(NaN, 0)", Number
.NaN
, Math
.max(Number
.NaN
, 0) );
66 array
[item
++] = new TestCase( SECTION
, "Math.max('a string', 0)", Number
.NaN
, Math
.max("a string", 0) );
67 array
[item
++] = new TestCase( SECTION
, "Math.max(NaN, 1)", Number
.NaN
, Math
.max(Number
.NaN
,1) );
68 array
[item
++] = new TestCase( SECTION
, "Math.max('a string',Infinity)", Number
.NaN
, Math
.max("a string", Number
.POSITIVE_INFINITY
) );
69 array
[item
++] = new TestCase( SECTION
, "Math.max(Infinity, NaN)", Number
.NaN
, Math
.max( Number
.POSITIVE_INFINITY
, Number
.NaN
) );
70 array
[item
++] = new TestCase( SECTION
, "Math.max(NaN, NaN)", Number
.NaN
, Math
.max(Number
.NaN
, Number
.NaN
) );
71 array
[item
++] = new TestCase( SECTION
, "Math.max(0,NaN)", Number
.NaN
, Math
.max(0,Number
.NaN
) );
72 array
[item
++] = new TestCase( SECTION
, "Math.max(1, NaN)", Number
.NaN
, Math
.max(1, Number
.NaN
) );
73 array
[item
++] = new TestCase( SECTION
, "Math.max(0,0)", 0, Math
.max(0,0) );
74 array
[item
++] = new TestCase( SECTION
, "Math.max(0,-0)", 0, Math
.max(0,-0) );
75 array
[item
++] = new TestCase( SECTION
, "Math.max(-0,0)", 0, Math
.max(-0,0) );
76 array
[item
++] = new TestCase( SECTION
, "Math.max(-0,-0)", -0, Math
.max(-0,-0) );
77 array
[item
++] = new TestCase( SECTION
, "Infinity/Math.max(-0,-0)", -Infinity
, Infinity
/Math
.max(-0,-0) );
78 array
[item
++] = new TestCase( SECTION
, "Math.max(Infinity, Number.MAX_VALUE)", Number
.POSITIVE_INFINITY
, Math
.max(Number
.POSITIVE_INFINITY
, Number
.MAX_VALUE
) );
79 array
[item
++] = new TestCase( SECTION
, "Math.max(Infinity, Infinity)", Number
.POSITIVE_INFINITY
, Math
.max(Number
.POSITIVE_INFINITY
,Number
.POSITIVE_INFINITY
) );
80 array
[item
++] = new TestCase( SECTION
, "Math.max(-Infinity,-Infinity)", Number
.NEGATIVE_INFINITY
, Math
.max(Number
.NEGATIVE_INFINITY
,Number
.NEGATIVE_INFINITY
) );
81 array
[item
++] = new TestCase( SECTION
, "Math.max(1,.99999999999999)", 1, Math
.max(1,.99999999999999) );
82 array
[item
++] = new TestCase( SECTION
, "Math.max(-1,-.99999999999999)", -.99999999999999, Math
.max(-1,-.99999999999999) );
87 for ( tc
=0; tc
< testcases
.length
; tc
++ ) {
88 testcases
[tc
].passed
= writeTestCaseResult(
91 testcases
[tc
].description
+" = "+
92 testcases
[tc
].actual
);
94 testcases
[tc
].reason
+= ( testcases
[tc
].passed
) ? "" : "wrong value ";