15.2.3.4-0-1.js |
---
es5id: 15.2.3.4-0-1
description: Object.getOwnPropertyNames must exist as a function
--- |
360 |
15.2.3.4-0-2.js |
---
es5id: 15.2.3.4-0-2
description: >
Object.getOwnPropertyNames must exist as a function taking 1
parameter
--- |
378 |
15.2.3.4-1-2.js |
---
es5id: 15.2.3.4-1-2
description: Object.getOwnPropertyNames throws TypeError if 'O' is undefined
--- |
352 |
15.2.3.4-1-3.js |
---
es5id: 15.2.3.4-1-3
description: Object.getOwnPropertyNames throws TypeError if 'O' is null
--- |
342 |
15.2.3.4-1-4.js |
---
es5id: 15.2.3.4-1-4
description: >
Object.getOwnPropertyNames does not throw TypeError if 'O' is a
boolean
--- |
320 |
15.2.3.4-1-5.js |
---
es5id: 15.2.3.4-1-5
description: >
Object.getOwnPropertyNames does not throw TypeError if 'O' is a
string
--- |
320 |
15.2.3.4-1.js |
---
es5id: 15.2.3.4-1
description: >
Object.getOwnPropertyNames does not throw TypeError if type of
first param is not Object
--- |
332 |
15.2.3.4-2-1.js |
---
es5id: 15.2.3.4-2-1
description: >
Object.getOwnPropertyNames - returned array is an array according
to Array.isArray
--- |
423 |
15.2.3.4-2-2.js |
---
es5id: 15.2.3.4-2-2
description: Object.getOwnPropertyNames - returned array is an instance of Array
--- |
402 |
15.2.3.4-2-3.js |
---
es5id: 15.2.3.4-2-3
description: >
Object.getOwnPropertyNames - length of returned array is
initialized to 0
--- |
402 |
15.2.3.4-2-4.js |
---
es5id: 15.2.3.4-2-4
description: >
Object.getOwnPropertyNames - returned array is the standard
built-in constructor
--- |
575 |
15.2.3.4-3-1.js |
---
es5id: 15.2.3.4-3-1
description: >
Object.getOwnPropertyNames - elements of the returned array start
from index 0
--- |
477 |
15.2.3.4-4-1.js |
---
es5id: 15.2.3.4-4-1
description: Object.getOwnPropertyNames returns array of property names (Global)
--- |
866 |
15.2.3.4-4-2.js |
---
es5id: 15.2.3.4-4-2
description: Object.getOwnPropertyNames returns array of property names (Object)
--- |
1211 |
15.2.3.4-4-36.js |
---
es5id: 15.2.3.4-4-36
description: >
Object.getOwnPropertyNames - inherited data properties are not
pushed into the returned array
--- |
553 |
15.2.3.4-4-37.js |
---
es5id: 15.2.3.4-4-37
description: >
Object.getOwnPropertyNames - inherited accessor properties are not
pushed into the returned array
--- |
647 |
15.2.3.4-4-38.js |
---
es5id: 15.2.3.4-4-38
description: >
Object.getOwnPropertyNames - own data properties are pushed into
the returned array
--- |
420 |
15.2.3.4-4-39.js |
---
es5id: 15.2.3.4-4-39
description: >
Object.getOwnPropertyNames - own accessor properties are pushed
into the returned array
--- |
512 |
15.2.3.4-4-40.js |
---
es5id: 15.2.3.4-4-40
description: >
Object.getOwnPropertyNames - inherited data property of String
object 'O' is not pushed into the returned array
--- |
543 |
15.2.3.4-4-41.js |
---
es5id: 15.2.3.4-4-41
description: >
Object.getOwnPropertyNames - inherited accessor property of String
object 'O' is not pushed into the returned array
--- |
634 |
15.2.3.4-4-42.js |
---
es5id: 15.2.3.4-4-42
description: >
Object.getOwnPropertyNames - own data property of String object
'O' is pushed into the returned array
--- |
664 |
15.2.3.4-4-43.js |
---
es5id: 15.2.3.4-4-43
description: >
Object.getOwnPropertyNames - own accessor property of String
object 'O' is pushed into the returned array
--- |
695 |
15.2.3.4-4-44.js |
---
es5id: 15.2.3.4-4-44
description: >
Object.getOwnPropertyNames - own index properties of String object
are pushed into the returned Array
includes: [compareArray.js]
--- |
476 |
15.2.3.4-4-45.js |
---
es5id: 15.2.3.4-4-45
description: >
Object.getOwnPropertyNames - inherited data property of Array
object 'O' is not pushed into the returned array.
--- |
533 |
15.2.3.4-4-46.js |
---
es5id: 15.2.3.4-4-46
description: >
Object.getOwnPropertyNames - inherited accessor property of Array
object 'O' is not pushed into the returned array.
--- |
624 |
15.2.3.4-4-47.js |
---
es5id: 15.2.3.4-4-47
description: >
Object.getOwnPropertyNames - own data property of Array object 'O'
is pushed into the returned array
--- |
593 |
15.2.3.4-4-48.js |
---
es5id: 15.2.3.4-4-48
description: >
Object.getOwnPropertyNames - own accessor property of Array object
'O' is pushed into the returned array.
--- |
686 |
15.2.3.4-4-49.js |
---
es5id: 15.2.3.4-4-49
description: >
Object.getOwnPropertyNames - own index properties of Array objcect
are pushed into the returned Array
includes: [compareArray.js]
--- |
447 |
15.2.3.4-4-50.js |
---
es5id: 15.2.3.4-4-50
description: >
Object.getOwnPropertyNames - non-enumerable own property of 'O' is
pushed into the returned Array
--- |
548 |
15.2.3.4-4-b-1.js |
---
es5id: 15.2.3.4-4-b-1
description: >
Object.getOwnPropertyNames - descriptor of resultant array is all
true
--- |
617 |
15.2.3.4-4-b-2.js |
---
es5id: 15.2.3.4-4-b-2
description: >
Object.getOwnPropertyNames - all own properties are pushed into
the returned array
includes: [compareArray.js]
--- |
764 |
15.2.3.4-4-b-3.js |
---
es5id: 15.2.3.4-4-b-3
description: >
Object.getOwnPropertyNames - own property named empty('') is
pushed into the returned array
--- |
552 |
15.2.3.4-4-b-4.js |
---
es5id: 15.2.3.4-4-b-4
description: >
Object.getOwnPropertyNames - elements of the returned array are
writable
--- |
564 |
15.2.3.4-4-b-5.js |
---
es5id: 15.2.3.4-4-b-5
description: >
Object.getOwnPropertyNames - elements of the returned array are
enumerable
--- |
533 |
15.2.3.4-4-b-6.js |
---
es5id: 15.2.3.4-4-b-6
description: >
Object.getOwnPropertyNames - elements of the returned array are
configurable
--- |
589 |
browser.js |
|
0 |
name.js |
---
es6id: 19.1.2.7
description: >
Object.getOwnPropertyNames.name is "getOwnPropertyNames".
info: |
Object.getOwnPropertyNames ( 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]
--- |
881 |
non-object-argument-invalid.js |
---
esid: sec-object.getownpropertynames
description: >
Object.getOwnPropertyNames called with an invalid non-object value
info: |
GetOwnPropertyKeys ( O, type )
Let obj be ? ToObject(O).
Let keys be ? obj.[[OwnPropertyKeys]]().
Let nameList be a new empty List.
For each element nextKey of keys, do
If Type(nextKey) is Symbol and type is symbol or Type(nextKey) is String and type is string, then
Append nextKey as the last element of nameList.
Return CreateArrayFromList(nameList).
features: [Symbol]
--- |
1053 |
non-object-argument-valid.js |
---
esid: sec-object.getownpropertynames
description: >
Object.getOwnPropertyNames called with a valid non-object value
info: |
GetOwnPropertyKeys ( O, type )
Let obj be ? ToObject(O).
Let keys be ? obj.[[OwnPropertyKeys]]().
Let nameList be a new empty List.
For each element nextKey of keys, do
If Type(nextKey) is Symbol and type is symbol or Type(nextKey) is String and type is string, then
Append nextKey as the last element of nameList.
Return CreateArrayFromList(nameList).
features: [Symbol]
includes: [compareArray.js]
--- |
1421 |
not-a-constructor.js |
---
esid: sec-ecmascript-standard-built-in-objects
description: >
Object.getOwnPropertyNames 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]
--- |
936 |
order-after-define-property.js |
---
esid: sec-object.getownpropertynames
description: >
Property names are returned in ascending chronological order of creation
that is unaffected by [[DefineOwnProperty]].
info: |
Object.getOwnPropertyNames ( O )
1. Return ? GetOwnPropertyKeys(O, String).
GetOwnPropertyKeys ( O, type )
1. Let obj be ? ToObject(O).
2. Let keys be ? obj.[[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]
--- |
1289 |
proxy-invariant-absent-not-configurable-symbol-key.js |
---
esid: sec-object.getownpropertynames
description: >
Proxy [[OwnPropertyKeys]] trap does not skip symbol keys when validating invariant:
The result List must contain the keys of all non-configurable own properties of
the target object.
info: |
Object.getOwnPropertyNames ( O )
1. Return ? GetOwnPropertyKeys(O, String).
GetOwnPropertyKeys ( O, type )
...
2. Let keys be ? obj.[[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, Symbol]
--- |
1556 |
proxy-invariant-duplicate-symbol-entry.js |
---
esid: sec-object.getownpropertynames
description: >
Proxy [[OwnPropertyKeys]] trap does not skip symbol keys when validating invariant:
The returned List contains no duplicate entries.
info: |
Object.getOwnPropertyNames ( O )
1. Return ? GetOwnPropertyKeys(O, String).
GetOwnPropertyKeys ( O, type )
...
2. Let keys be ? obj.[[OwnPropertyKeys]]().
[[OwnPropertyKeys]] ( )
...
8. Let trapResult be ? CreateListFromArrayLike(trapResultArray, « String, Symbol »).
9. If trapResult contains any duplicate entries, throw a TypeError exception.
features: [Proxy, Symbol]
--- |
955 |
proxy-invariant-not-extensible-absent-symbol-key.js |
---
esid: sec-object.getownpropertynames
description: >
Proxy [[OwnPropertyKeys]] trap does not skip symbol 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.getOwnPropertyNames ( O )
1. Return ? GetOwnPropertyKeys(O, String).
GetOwnPropertyKeys ( O, type )
...
2. Let keys be ? obj.[[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, Symbol]
--- |
1506 |
proxy-invariant-not-extensible-extra-symbol-key.js |
---
esid: sec-object.getownpropertynames
description: >
Proxy [[OwnPropertyKeys]] trap does not skip symbol 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.getOwnPropertyNames ( O )
1. Return ? GetOwnPropertyKeys(O, String).
GetOwnPropertyKeys ( O, type )
...
2. Let keys be ? obj.[[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, Symbol]
--- |
1410 |
S15.2.3.4_A1_T1.js |
---
info: |
Object.getOwnProperties and Object.prototype.hasOwnProperty should
agree on what the own properties are.
es5id: 15.2.3.4_A1_T1
description: >
Check that all the own property names reported by
Object.getOwnPropertyNames on a strict function are names that
hasOwnProperty agrees are own properties.
--- |
715 |
shell.js |
|
0 |