mirror of https://github.com/tc39/test262.git
37 lines
1008 B
JavaScript
37 lines
1008 B
JavaScript
// Copyright (C) 2016 the V8 project authors. All rights reserved.
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
/*---
|
|
es6id: 22.1.4.1
|
|
description: >
|
|
Instances has the own property length
|
|
info: |
|
|
22.1.4.1 length
|
|
|
|
The length property of an Array instance is a data property whose value is
|
|
always numerically greater than the name of every configurable own property
|
|
whose name is an array index.
|
|
|
|
The length property initially has the attributes { [[Writable]]: true,
|
|
[[Enumerable]]: false, [[Configurable]]: false }.
|
|
---*/
|
|
|
|
class Ar extends Array {}
|
|
|
|
var arr = new Ar('foo', 'bar');
|
|
|
|
assert.sameValue(arr[0], 'foo');
|
|
assert.sameValue(arr[1], 'bar');
|
|
|
|
var arrDesc = Object.getOwnPropertyDescriptor(arr, 'length');
|
|
|
|
assert.sameValue(arrDesc.writable, true);
|
|
assert.sameValue(arrDesc.enumerable, false);
|
|
assert.sameValue(arrDesc.configurable, false);
|
|
|
|
assert.sameValue(arr[1], 'bar');
|
|
|
|
arr.length = 1;
|
|
|
|
assert.sameValue(arr[0], 'foo');
|
|
assert.sameValue(arr[1], undefined);
|