initial import
[vuplus_webkit] / Source / JavaScriptCore / tests / mozilla / ecma_2 / Statements / try-008.js
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();