]> git.saurik.com Git - apple/javascriptcore.git/blob - tests/mozilla/ecma_2/Statements/try-005.js
JavaScriptCore-7601.1.46.3.tar.gz
[apple/javascriptcore.git] / tests / mozilla / ecma_2 / Statements / try-005.js
1 /**
2 * File Name: try-005.js
3 * ECMA Section:
4 * Description: The try statement
5 *
6 * This test has a try with one catch block but no finally. Same
7 * as try-004, but the eval statement is called from a function, not
8 * directly from within the try block.
9 *
10 * Author: christine@netscape.com
11 * Date: 11 August 1998
12 */
13 var SECTION = "try-005";
14 var VERSION = "ECMA_2";
15 var TITLE = "The try statement";
16
17 startTest();
18 writeHeaderToLog( SECTION + " "+ TITLE);
19
20 var tc = 0;
21 var testcases = new Array();
22
23 TryToCatch( "Math.PI", Math.PI );
24 TryToCatch( "Thrower(5)", "Caught 5" );
25 TryToCatch( "Thrower(\"some random exception\")", "Caught some random exception" );
26
27 test();
28
29 function Thrower( v ) {
30 throw "Caught " + v;
31 }
32 function Eval( v ) {
33 return eval( v );
34 }
35
36 /**
37 * Evaluate a string. Catch any exceptions thrown. If no exception is
38 * expected, verify the result of the evaluation. If an exception is
39 * expected, verify that we got the right exception.
40 */
41
42 function TryToCatch( value, expect ) {
43 try {
44 result = Eval( value );
45 } catch ( e ) {
46 result = e;
47 }
48
49 testcases[tc++] = new TestCase(
50 SECTION,
51 "eval( " + value +" )",
52 expect,
53 result );
54 }