Skip to content

Commit

Permalink
Array length: add test ensuring RangeError is thrown
Browse files Browse the repository at this point in the history
  • Loading branch information
ljharb committed Dec 27, 2023
1 parent b628e4b commit d1f7a59
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions test/built-ins/Array/length/define-own-prop-length-error.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
// Copyright (C) 2023 Jordan Harband. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
author: Jordan Harband
esid: sec-arraysetlength
description: >
Setting an invalid array length throws a RangeError
info: |
ArraySetLength ( A, Desc )
[...]
5. If SameValueZero(newLen, numberLen) is false, throw a RangeError exception.
[...]
features: []
---*/

assert.throws(RangeError, function () {
Object.defineProperty([], 'length', { value: -1, configurable: true });
});

assert.throws(RangeError, function () {
// the string is intentionally "computed" here to ensure there are no optimization bugs
Object.defineProperty([], 'len' + 'gth', { value: -1, configurable: true });
});

0 comments on commit d1f7a59

Please sign in to comment.