js/src/tests/ecma_2/Statements/try-008.js

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:0a3daeb0e459
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5
6
7 /**
8 * File Name: try-008.js
9 * ECMA Section:
10 * Description: The try statement
11 *
12 * This test has a try block in a constructor.
13 *
14 *
15 * Author: christine@netscape.com
16 * Date: 11 August 1998
17 */
18 var SECTION = "try-008";
19 var VERSION = "ECMA_2";
20 var TITLE = "The try statement: try in a constructor";
21
22 startTest();
23 writeHeaderToLog( SECTION + " "+ TITLE);
24
25 function Integer( value, exception ) {
26 try {
27 this.value = checkValue( value );
28 } catch ( e ) {
29 this.value = e.toString();
30 }
31
32 new TestCase(
33 SECTION,
34 "Integer( " + value +" )",
35 (exception ? INVALID_INTEGER_VALUE +": " + value : this.value),
36 this.value );
37 }
38
39 var INVALID_INTEGER_VALUE = "Invalid value for java.lang.Integer constructor";
40
41 function checkValue( value ) {
42 if ( Math.floor(value) != value || isNaN(value) ) {
43 throw ( INVALID_INTEGER_VALUE +": " + value );
44 } else {
45 return value;
46 }
47 }
48
49 // add test cases
50
51 new Integer( 3, false );
52 new Integer( NaN, true );
53 new Integer( 0, false );
54 new Integer( Infinity, false );
55 new Integer( -2.12, true );
56 new Integer( Math.LN2, true );
57
58
59 test();

mercurial