Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
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/. */
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";
22 startTest();
23 writeHeaderToLog( SECTION + " "+ TITLE);
25 function Integer( value, exception ) {
26 try {
27 this.value = checkValue( value );
28 } catch ( e ) {
29 this.value = e.toString();
30 }
32 new TestCase(
33 SECTION,
34 "Integer( " + value +" )",
35 (exception ? INVALID_INTEGER_VALUE +": " + value : this.value),
36 this.value );
37 }
39 var INVALID_INTEGER_VALUE = "Invalid value for java.lang.Integer constructor";
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 }
49 // add test cases
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 );
59 test();