1'use strict'; 2 3require('../common'); 4const { strictEqual, deepStrictEqual } = require('assert'); 5 6{ 7 const domException = new DOMException('no cause', 'abc'); 8 strictEqual(domException.name, 'abc'); 9 strictEqual('cause' in domException, false); 10 strictEqual(domException.cause, undefined); 11} 12 13{ 14 const domException = new DOMException('with undefined cause', { name: 'abc', cause: undefined }); 15 strictEqual(domException.name, 'abc'); 16 strictEqual('cause' in domException, true); 17 strictEqual(domException.cause, undefined); 18} 19 20{ 21 const domException = new DOMException('with string cause', { name: 'abc', cause: 'foo' }); 22 strictEqual(domException.name, 'abc'); 23 strictEqual('cause' in domException, true); 24 strictEqual(domException.cause, 'foo'); 25} 26 27{ 28 const object = { reason: 'foo' }; 29 const domException = new DOMException('with object cause', { name: 'abc', cause: object }); 30 strictEqual(domException.name, 'abc'); 31 strictEqual('cause' in domException, true); 32 deepStrictEqual(domException.cause, object); 33} 34