Name Description Size
15.2.3.14-0-1.js --- es5id: 15.2.3.14-0-1 description: Object.keys must exist as a function --- 318
15.2.3.14-0-2.js --- es5id: 15.2.3.14-0-2 description: Object.keys must exist as a function taking 1 parameter --- 324
15.2.3.14-1-1.js --- es5id: 15.2.3.14-1-1 description: > Object.keys does not throw TypeError if type of first param is not Object --- 305
15.2.3.14-1-2.js --- es5id: 15.2.3.14-1-2 description: > Object.keys does not throw TypeError if type of first param is not Object (boolean) --- 318
15.2.3.14-1-3.js --- es5id: 15.2.3.14-1-3 description: > Object.keys does not throw TypeError if type of first param is not Object (string) --- 318
15.2.3.14-1-4.js --- es5id: 15.2.3.14-1-4 description: > Object.keys throws TypeError if type of first param is not Object (null) --- 352
15.2.3.14-1-5.js --- es5id: 15.2.3.14-1-5 description: > Object.keys throws TypeError if type of first param is not Object (undefined) --- 362
15.2.3.14-2-1.js --- es5id: 15.2.3.14-2-1 description: Object.keys returns the standard built-in Array --- 369
15.2.3.14-2-2.js --- es5id: 15.2.3.14-2-2 description: Object.keys returns the standard built-in Array (check [[Class]] --- 411
15.2.3.14-2-3.js --- es5id: 15.2.3.14-2-3 description: Object.keys returns the standard built-in Array (Array overridden) --- 435
15.2.3.14-2-4.js --- es5id: 15.2.3.14-2-4 description: Object.keys returns the standard built-in Array that is extensible --- 400
15.2.3.14-2-5.js --- es5id: 15.2.3.14-2-5 description: Object.keys returns the standard built-in Array that is not sealed --- 393
15.2.3.14-2-6.js --- es5id: 15.2.3.14-2-6 description: Object.keys returns the standard built-in Array that is not frozen --- 393
15.2.3.14-2-7.js --- es5id: 15.2.3.14-2-7 description: > Object.keys - 'n' is 0 when 'O' doesn't contain own enumerable data or accessor properties --- 624
15.2.3.14-2-8.js --- es5id: 15.2.3.14-2-8 description: > Object.keys - 'n' is the correct value when enumerable properties exist in 'O' --- 761
15.2.3.14-3-1.js --- es5id: 15.2.3.14-3-1 description: > Object.keys returns the standard built-in Array containing own enumerable properties --- 471
15.2.3.14-3-2.js --- es5id: 15.2.3.14-3-2 description: > Object.keys returns the standard built-in Array containing own enumerable properties (function) --- 448
15.2.3.14-3-3.js --- es5id: 15.2.3.14-3-3 description: > Object.keys returns the standard built-in Array containing own enumerable properties (array) --- 466
15.2.3.14-3-4.js --- es5id: 15.2.3.14-3-4 description: > Object.keys of an arguments object returns the indices of the given arguments --- 1145
15.2.3.14-3-5.js --- es5id: 15.2.3.14-3-5 description: Object.keys must return a fresh array on each invocation --- 550
15.2.3.14-3-6.js --- es5id: 15.2.3.14-3-6 description: > Object.keys - returns the standard built-in Array (instanceof Array) --- 391
15.2.3.14-3-7.js --- es5id: 15.2.3.14-3-7 description: > Object.keys - length of the returned array equals the number of own enumerable properties of 'O' --- 659
15.2.3.14-4-1.js --- es5id: 15.2.3.14-4-1 description: Object.keys - elements of the returned array start from index 0 --- 678
15.2.3.14-5-1.js --- es5id: 15.2.3.14-5-1 description: > Object.keys - own enumerable data property of 'O' is defined in returned array --- 545
15.2.3.14-5-2.js --- es5id: 15.2.3.14-5-2 description: > Object.keys - own enumerable accessor property of 'O' is defined in returned array --- 576
15.2.3.14-5-3.js --- es5id: 15.2.3.14-5-3 description: > Object.keys - non-enumerable own data property of 'O' is not defined in returned array --- 685
15.2.3.14-5-4.js --- es5id: 15.2.3.14-5-4 description: > Object.keys - non-enumerable own accessor property of 'O' is not defined in returned array --- 777
15.2.3.14-5-5.js --- es5id: 15.2.3.14-5-5 description: > Object.keys - inherited enumerable data property of 'O' is not defined in returned array --- 626
15.2.3.14-5-6.js --- es5id: 15.2.3.14-5-6 description: > Object.keys - inherited enumerable accessor property of 'O' is not defined in returned array --- 764
15.2.3.14-5-7.js --- es5id: 15.2.3.14-5-7 description: > Object.keys - inherted enumerable data property that is over-ridden by non-enumerable own data property is not defined in returned array --- 741
15.2.3.14-5-8.js --- es5id: 15.2.3.14-5-8 description: > Object.keys - inherted enumerable data property that is over-ridden by non-enumerable own accessor property is not defined in returned array --- 752
15.2.3.14-5-9.js --- es5id: 15.2.3.14-5-9 description: > Object.keys - inherted enumerable accessor property that is over-ridden by non-enumerable own data property is not defined in returned array --- 752
15.2.3.14-5-10.js --- es5id: 15.2.3.14-5-10 description: > Object.keys - inherted enumerable accessor property that is over-ridden by non-enumerable own accessor property is not defined in returned array --- 764
15.2.3.14-5-11.js --- es5id: 15.2.3.14-5-11 description: > Object.keys - own enumerable indexed data property of dense array 'O' is defined in returned array --- 528
15.2.3.14-5-12.js --- es5id: 15.2.3.14-5-12 description: > Object.keys - own enumerable indexed accessor property of dense array 'O' is defined in returned array --- 703
15.2.3.14-5-13.js --- es5id: 15.2.3.14-5-13 description: > Object.keys - own enumerable indexed data property of sparse array 'O' is defined in returned array --- 855
15.2.3.14-5-14.js --- es5id: 15.2.3.14-5-14 description: > Object.keys - own enumerable indexed accessor property of sparse array 'O' is defined in returned array --- 686
15.2.3.14-5-15.js --- es5id: 15.2.3.14-5-15 description: > Object.keys - own enumerable indexed data property of String object 'O' is defined in returned array --- 623
15.2.3.14-5-16.js --- es5id: 15.2.3.14-5-16 description: > Object.keys - own enumerable indexed accessor property of String object 'O' is defined in returned array --- 740
15.2.3.14-5-a-1.js --- es5id: 15.2.3.14-5-a-1 description: > Object.keys - 'value' attribute of element in returned array is correct. --- 537
15.2.3.14-5-a-2.js --- es5id: 15.2.3.14-5-a-2 description: > Object.keys - 'writable' attribute of element of returned array is correct --- 630
15.2.3.14-5-a-3.js --- es5id: 15.2.3.14-5-a-3 description: > Object.keys - 'enumerable' attribute of element of returned array is correct --- 736
15.2.3.14-5-a-4.js --- es5id: 15.2.3.14-5-a-4 description: > Object.keys - Verify that 'configurable' attribute of element of returned array is correct --- 666
15.2.3.14-5-b-1.js --- es5id: 15.2.3.14-5-b-1 description: Object.keys - Verify that 'index' of returned array is ascend by 1 --- 510
15.2.3.14-6-1.js --- es5id: 15.2.3.14-6-1 description: > Object.keys - the order of elements in returned array is the same with the order of properties in 'O' (dense array) --- 639
15.2.3.14-6-2.js --- es5id: 15.2.3.14-6-2 description: > Object.keys - the order of elements in returned array is the same with the order of properties in 'O' (sparse array) --- 651
15.2.3.14-6-3.js --- es5id: 15.2.3.14-6-3 description: > Object.keys - the order of elements in returned array is the same with the order of properties in 'O' (String object) --- 621
15.2.3.14-6-4.js --- es5id: 15.2.3.14-6-4 description: > Object.keys - the order of elements in returned array is the same with the order of properties in 'O' (Arguments object) --- 685
15.2.3.14-6-5.js --- es5id: 15.2.3.14-6-5 description: > Object.keys - the order of elements in returned array is the same with the order of properties in 'O' (any other built-in object) --- 665
browser.js 0
name.js --- es6id: 19.1.2.14 description: > Object.keys.name is "keys". info: | Object.keys ( O ) 17 ECMAScript Standard Built-in Objects: Every built-in Function object, including constructors, that is not identified as an anonymous function has a name property whose value is a String. Unless otherwise specified, the name property of a built-in Function object, if it exists, has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }. includes: [propertyHelper.js] --- 807
not-a-constructor.js --- esid: sec-ecmascript-standard-built-in-objects description: > Object.keys does not implement [[Construct]], is not new-able info: | ECMAScript Function Objects Built-in function objects that are not identified as constructors do not implement the [[Construct]] internal method unless otherwise specified in the description of a particular function. sec-evaluatenew ... 7. If IsConstructor(constructor) is false, throw a TypeError exception. ... includes: [isConstructor.js] features: [Reflect.construct, arrow-function] --- 868
order-after-define-property-with-function.js --- esid: sec-object.keys description: > Property names are returned in ascending chronological order of creation that is unaffected by [[DefineOwnProperty]]. info: | Object.keys ( O ) [...] 2. Let nameList be ? EnumerableOwnPropertyNames(obj, key). 3. Return CreateArrayFromList(nameList). EnumerableOwnPropertyNames ( O, kind ) [...] 2. Let ownKeys be ? O.[[OwnPropertyKeys]](). [...] OrdinaryOwnPropertyKeys ( O ) [...] 3. For each own property key P of O that is a String but is not an array index, in ascending chronological order of property creation, do a. Add P as the last element of keys. [...] 5. Return keys. features: [arrow-function] includes: [compareArray.js] --- 1020
order-after-define-property.js --- esid: sec-object.keys description: > Property names are returned in ascending chronological order of creation that is unaffected by [[DefineOwnProperty]]. info: | Object.keys ( O ) [...] 2. Let nameList be ? EnumerableOwnPropertyNames(obj, key). 3. Return CreateArrayFromList(nameList). EnumerableOwnPropertyNames ( O, kind ) [...] 2. Let ownKeys be ? O.[[OwnPropertyKeys]](). [...] OrdinaryOwnPropertyKeys ( O ) [...] 3. For each own property key P of O that is a String but is not an array index, in ascending chronological order of property creation, do a. Add P as the last element of keys. [...] 5. Return keys. includes: [compareArray.js] --- 1103
property-traps-order-with-proxied-array.js --- esid: sec-object.keys description: > Ensure the correct property traps are called on a proxy of an array. info: | 19.1.2.16 Object.keys ( O ) ... 2. Let nameList be ? EnumerableOwnPropertyNames(obj, "key"). ... 7.3.21 EnumerableOwnPropertyNames ( O, kind ) ... 2. Let ownKeys be ? O.[[OwnPropertyKeys]](). ... 4. For each element key of ownKeys in List order, do a. If Type(key) is String, then i. Let desc be ? O.[[GetOwnProperty]](key). ... features: [Proxy] includes: [compareArray.js] --- 881
proxy-keys.js --- esid: sec-object.keys description: > Object.keys() observably performs [[GetOwnProperty]] info: | 19.1.2.16 Object.keys ( O ) 1. Let obj be ? ToObject(O). 2. Let nameList be ? EnumerableOwnProperties(obj, "key"). ... 7.3.21 EnumerableOwnProperties ( O, kind ) 1. Assert: Type(O) is Object. 2. Let ownKeys be ? O.[[OwnPropertyKeys]](). 3. Let properties be a new empty List. 4. For each element key of ownKeys in List order, do a. If Type(key) is String, then i. Let desc be ? O.[[GetOwnProperty]](key). ... features: [Symbol] --- 3898
proxy-non-enumerable-prop-invariant-1.js --- esid: sec-object.keys description: > Proxy [[OwnPropertyKeys]] trap does not skip non-enumerable keys when validating invariant: The result List must contain the keys of all non-configurable own properties of the target object. info: | Object.keys ( O ) ... 2. Let nameList be ? EnumerableOwnPropertyNames(obj, "key"). EnumerableOwnPropertyNames ( O, kind ) ... 2. Let ownKeys be ? O.[[OwnPropertyKeys]](). [[OwnPropertyKeys]] ( ) ... 11. Let targetKeys be ? target.[[OwnPropertyKeys]](). ... 15. Let targetNonconfigurableKeys be a new empty List. 16. For each element key of targetKeys, do a. Let desc be ? target.[[GetOwnProperty]](key). b. If desc is not undefined and desc.[[Configurable]] is false, then i. Append key as an element of targetNonconfigurableKeys. ... 18. Let uncheckedResultKeys be a new List which is a copy of trapResult. 19. For each key that is an element of targetNonconfigurableKeys, do a. If key is not an element of uncheckedResultKeys, throw a TypeError exception. features: [Proxy] --- 1522
proxy-non-enumerable-prop-invariant-2.js --- esid: sec-object.keys description: > Proxy [[OwnPropertyKeys]] trap does not skip non-enumerable keys when validating invariant: If the target object is not extensible, then the result List must contain all the keys of the own properties of the target object and no other values. info: | Object.keys ( O ) ... 2. Let nameList be ? EnumerableOwnPropertyNames(obj, "key"). EnumerableOwnPropertyNames ( O, kind ) ... 2. Let ownKeys be ? O.[[OwnPropertyKeys]](). [[OwnPropertyKeys]] ( ) ... 11. Let targetKeys be ? target.[[OwnPropertyKeys]](). 16. For each element key of targetKeys, do a. Let desc be ? target.[[GetOwnProperty]](key). b. If desc is not undefined and desc.[[Configurable]] is false, then ... c. Else, i. Append key as an element of targetConfigurableKeys. ... 18. Let uncheckedResultKeys be a new List which is a copy of trapResult. ... 21. For each key that is an element of targetConfigurableKeys, do a. If key is not an element of uncheckedResultKeys, throw a TypeError exception. features: [Proxy] --- 1568
proxy-non-enumerable-prop-invariant-3.js --- esid: sec-object.keys description: > Proxy [[OwnPropertyKeys]] trap does not skip non-enumerable keys when validating invariant: If the target object is not extensible, then the result List must contain all the keys of the own properties of the target object and no other values. info: | Object.keys ( O ) ... 2. Let nameList be ? EnumerableOwnPropertyNames(obj, "key"). EnumerableOwnPropertyNames ( O, kind ) ... 2. Let ownKeys be ? O.[[OwnPropertyKeys]](). [[OwnPropertyKeys]] ( ) ... 11. Let targetKeys be ? target.[[OwnPropertyKeys]](). 16. For each element key of targetKeys, do a. Let desc be ? target.[[GetOwnProperty]](key). b. If desc is not undefined and desc.[[Configurable]] is false, then ... c. Else, i. Append key as an element of targetConfigurableKeys. ... 18. Let uncheckedResultKeys be a new List which is a copy of trapResult. ... 22. If uncheckedResultKeys is not empty, throw a TypeError exception. features: [Proxy] --- 1494
return-order.js --- esid: sec-object.keys description: Object.keys enumeration order features: [for-in-order] includes: [compareArray.js] --- 539
shell.js 0