diff options
Diffstat (limited to 'js/src/tests/ecma_2/Statements/try-005.js')
-rw-r--r-- | js/src/tests/ecma_2/Statements/try-005.js | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/js/src/tests/ecma_2/Statements/try-005.js b/js/src/tests/ecma_2/Statements/try-005.js new file mode 100644 index 000000000..b50c5bf53 --- /dev/null +++ b/js/src/tests/ecma_2/Statements/try-005.js @@ -0,0 +1,57 @@ +/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + +/** + * File Name: try-005.js + * ECMA Section: + * Description: The try statement + * + * This test has a try with one catch block but no finally. Same + * as try-004, but the eval statement is called from a function, not + * directly from within the try block. + * + * Author: christine@netscape.com + * Date: 11 August 1998 + */ +var SECTION = "try-005"; +var VERSION = "ECMA_2"; +var TITLE = "The try statement"; + +startTest(); +writeHeaderToLog( SECTION + " "+ TITLE); + +TryToCatch( "Math.PI", Math.PI ); +TryToCatch( "Thrower(5)", "Caught 5" ); +TryToCatch( "Thrower(\"some random exception\")", "Caught some random exception" ); + +test(); + +function Thrower( v ) { + throw "Caught " + v; +} +function Eval( v ) { + return eval( v ); +} + +/** + * Evaluate a string. Catch any exceptions thrown. If no exception is + * expected, verify the result of the evaluation. If an exception is + * expected, verify that we got the right exception. + */ + +function TryToCatch( value, expect ) { + try { + result = Eval( value ); + } catch ( e ) { + result = e; + } + + new TestCase( + SECTION, + "eval( " + value +" )", + expect, + result ); +} |