text: // Copyright (C) 2016 the V8 project authors. All rights reserved.
  // This code is governed by the BSD license found in the LICENSE file.
  /*---
  esid: sec-%typedarray%.prototype.slice
  description: Return abrupt from SpeciesConstructor's get Constructor
  info: |
    22.2.3.24 %TypedArray%.prototype.slice ( start, end )
  
    ...
    9. Let A be ? TypedArraySpeciesCreate(O, « count »).
    ...
  
    22.2.4.7 TypedArraySpeciesCreate ( exemplar, argumentList )
  
    ...
    3. Let constructor be ? SpeciesConstructor(exemplar, defaultConstructor).
    ...
  
    7.3.20 SpeciesConstructor ( O, defaultConstructor )
  
    1. Assert: Type(O) is Object.
    2. Let C be ? Get(O, "constructor").
    3. If C is undefined, return defaultConstructor.
    ...
  includes: [testBigIntTypedArray.js]
  features: [BigInt, TypedArray]
  ---*/
  
  testWithBigIntTypedArrayConstructors(function(TA) {
    var sample = new TA([40n, 41n, 42n, 43n]);
  
    Object.defineProperty(sample, "constructor", {
      get: function() {
        throw new Test262Error();
      }
    });
  
    assert.throws(Test262Error, function() {
      sample.slice();
    });
  });
  