tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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);