| /* -*- 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: exception-007 |
| * ECMA Section: |
| * Description: Tests for JavaScript Standard Exceptions |
| * |
| * DefaultValue error. |
| * |
| * Author: christine@netscape.com |
| * Date: 31 August 1998 |
| */ |
| var SECTION = "exception-007"; |
| var VERSION = "js1_4"; |
| var TITLE = "Tests for JavaScript Standard Exceptions: TypeError"; |
| var BUGNUMBER="318250"; |
| |
| startTest(); |
| writeHeaderToLog( SECTION + " "+ TITLE); |
| |
| DefaultValue_1(); |
| |
| test(); |
| |
| |
| /** |
| * Getting the [[DefaultValue]] of any instances of MyObject |
| * should result in a runtime error in ToPrimitive. |
| */ |
| |
| function MyObject() { |
| this.toString = void 0; |
| this.valueOf = new Object(); |
| } |
| |
| function DefaultValue_1() { |
| result = "failed: no exception thrown"; |
| exception = null; |
| |
| try { |
| result = new MyObject() + new MyObject(); |
| } catch ( e ) { |
| result = "passed: threw exception", |
| exception = e.toString(); |
| } finally { |
| new TestCase( |
| SECTION, |
| "new MyObject() + new MyObject() [ exception is " + exception +" ]", |
| "passed: threw exception", |
| result ); |
| } |
| } |
| |