| 'use strict'; |
| |
| require('../common'); |
| const { strictEqual, deepStrictEqual } = require('assert'); |
| |
| { |
| const domException = new DOMException('no cause', 'abc'); |
| strictEqual(domException.name, 'abc'); |
| strictEqual('cause' in domException, false); |
| strictEqual(domException.cause, undefined); |
| } |
| |
| { |
| const domException = new DOMException('with undefined cause', { name: 'abc', cause: undefined }); |
| strictEqual(domException.name, 'abc'); |
| strictEqual('cause' in domException, true); |
| strictEqual(domException.cause, undefined); |
| } |
| |
| { |
| const domException = new DOMException('with string cause', { name: 'abc', cause: 'foo' }); |
| strictEqual(domException.name, 'abc'); |
| strictEqual('cause' in domException, true); |
| strictEqual(domException.cause, 'foo'); |
| } |
| |
| { |
| const object = { reason: 'foo' }; |
| const domException = new DOMException('with object cause', { name: 'abc', cause: object }); |
| strictEqual(domException.name, 'abc'); |
| strictEqual('cause' in domException, true); |
| deepStrictEqual(domException.cause, object); |
| } |