Missing coverage for Object.defineProperty method. Fixes gh-2660 (#2738)

This commit is contained in:
Rick Waldron 2020-08-31 15:59:07 -04:00 committed by GitHub
parent 9e75c60028
commit 896994413c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 38 additions and 0 deletions

View File

@ -0,0 +1,38 @@
// Copyright (c) 2020 Rick Waldron. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-array-exotic-objects-defineownproperty-p-desc
description: >
Redefining "length" to `configurable: true` throws a TypeError exception
info: |
ArraySetLength ( A, Desc )
ValidateAndApplyPropertyDescriptor ( O, P, extensible, Desc, current )
---*/
let a = [1];
assert.throws(TypeError, () => {
Object.defineProperty(a, "length", {
configurable: true
});
});
assert.throws(TypeError, () => {
Object.defineProperty(a, "length", {
value: 1,
configurable: true
});
});
assert.throws(TypeError, () => {
Object.defineProperty(a, "length", {
value: 2,
configurable: true
});
});
assert.throws(TypeError, () => {
Object.defineProperty(a, "length", {
value: 3,
configurable: true
});
});