test262: test262/test/built-ins/Array/S15.4.3_A2.2.js
[WebKit-https.git] / JSTests / stress / native-constructors-length.js
1 function assert(b) {
2     if (!b)
3         throw new Error("Bad assertion");
4 }
5
6 function assertLengthDescriptorAttributes(ctor, lengthValue) {
7     let descriptor = Object.getOwnPropertyDescriptor(ctor, "length");
8
9     assert(descriptor.value === lengthValue);
10     assert(!descriptor.enumerable);
11     assert(!descriptor.writable);
12     assert(descriptor.configurable);
13 }
14
15 assertLengthDescriptorAttributes(Array, 1);
16 assertLengthDescriptorAttributes(ArrayBuffer, 1);
17 assertLengthDescriptorAttributes(Boolean, 1);
18 assertLengthDescriptorAttributes(DataView, 3);
19 assertLengthDescriptorAttributes(Date, 7);
20 assertLengthDescriptorAttributes(Error, 1);
21 assertLengthDescriptorAttributes(Function, 1);
22 assertLengthDescriptorAttributes(Map, 0);
23 assertLengthDescriptorAttributes(Number, 1);
24 assertLengthDescriptorAttributes(Object, 1);
25 assertLengthDescriptorAttributes(Promise, 1);
26 assertLengthDescriptorAttributes(Proxy, 2);
27 assertLengthDescriptorAttributes(RegExp, 2);
28 assertLengthDescriptorAttributes(Set, 0);
29 assertLengthDescriptorAttributes(String, 1);
30 assertLengthDescriptorAttributes(Symbol, 0);
31 assertLengthDescriptorAttributes(WeakMap, 0);
32 assertLengthDescriptorAttributes(WeakSet, 0);
33
34 assertLengthDescriptorAttributes(Int8Array, 3);
35 assertLengthDescriptorAttributes(Uint8Array, 3);
36 assertLengthDescriptorAttributes(Int16Array, 3);
37 assertLengthDescriptorAttributes(Uint16Array, 3);
38 assertLengthDescriptorAttributes(Int32Array, 3);
39 assertLengthDescriptorAttributes(Uint32Array, 3);
40 assertLengthDescriptorAttributes(Float32Array, 3);
41 assertLengthDescriptorAttributes(Float64Array, 3);