]> git.saurik.com Git - apple/javascriptcore.git/blame - tests/mozilla/ecma_2/Statements/try-008.js
JavaScriptCore-576.tar.gz
[apple/javascriptcore.git] / tests / mozilla / ecma_2 / Statements / try-008.js
CommitLineData
b37bf2e1
A
1/**
2 * File Name: try-008.js
3 * ECMA Section:
4 * Description: The try statement
5 *
6 * This test has a try block in a constructor.
7 *
8 *
9 * Author: christine@netscape.com
10 * Date: 11 August 1998
11 */
12 var SECTION = "try-008";
13 var VERSION = "ECMA_2";
14 var TITLE = "The try statement: try in a constructor";
15
16 startTest();
17 writeHeaderToLog( SECTION + " "+ TITLE);
18
19 var tc = 0;
20 var testcases = new Array();
21
22 function Integer( value, exception ) {
23 try {
24 this.value = checkValue( value );
25 } catch ( e ) {
26 this.value = e.toString();
27 }
28
29 testcases[tc++] = new TestCase(
30 SECTION,
31 "Integer( " + value +" )",
32 (exception ? INVALID_INTEGER_VALUE +": " + value : this.value),
33 this.value );
34 }
35
36 var INVALID_INTEGER_VALUE = "Invalid value for java.lang.Integer constructor";
37
38 function checkValue( value ) {
39 if ( Math.floor(value) != value || isNaN(value) ) {
40 throw ( INVALID_INTEGER_VALUE +": " + value );
41 } else {
42 return value;
43 }
44 }
45
46 // add test cases
47
48 new Integer( 3, false );
49 new Integer( NaN, true );
50 new Integer( 0, false );
51 new Integer( Infinity, false );
52 new Integer( -2.12, true );
53 new Integer( Math.LN2, true );
54
55
56 test();