Name Description Size Coverage
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 -