error-subclass.js (1393B)
1 // |reftest| skip-if(!Error.isError) -- Error.isError is not enabled unconditionally 2 // Copyright (C) 2024 Jordan Harband. All rights reserved. 3 // This code is governed by the BSD license found in the LICENSE file. 4 5 /*--- 6 esid: sec-error.iserror 7 description: > 8 Returns true on userland Error subclasses 9 features: [Error.isError, class] 10 ---*/ 11 12 class MyError extends Error {} 13 class MyEvalError extends EvalError {} 14 class MyRangeError extends RangeError {} 15 class MyReferenceError extends ReferenceError {} 16 class MySyntaxError extends SyntaxError {} 17 class MyTypeError extends TypeError {} 18 class MyURIError extends URIError {} 19 20 assert.sameValue(Error.isError(new MyError()), true); 21 assert.sameValue(Error.isError(new MyEvalError()), true); 22 assert.sameValue(Error.isError(new MyRangeError()), true); 23 assert.sameValue(Error.isError(new MyReferenceError()), true); 24 assert.sameValue(Error.isError(new MySyntaxError()), true); 25 assert.sameValue(Error.isError(new MyTypeError()), true); 26 assert.sameValue(Error.isError(new MyURIError()), true); 27 28 if (typeof AggregateError !== 'undefined') { 29 class MyAggregateError extends AggregateError {} 30 31 assert.sameValue(Error.isError(new MyAggregateError([])), true); 32 } 33 34 if (typeof SuppressedError !== 'undefined') { 35 class MySuppressedError extends SuppressedError {} 36 37 assert.sameValue(Error.isError(new MySuppressedError()), true); 38 } 39 40 reportCompare(0, 0);