mirror of https://github.com/tc39/test262.git
Add Object.isFrozen test
This commit is contained in:
parent
521446b36b
commit
a65d0bfb42
|
@ -0,0 +1,52 @@
|
|||
// Copyright (C) 2020 Alexey Shvayka. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
esid: sec-object.isfrozen
|
||||
description: >
|
||||
If Proxy "ownKeys" trap is missing, keys are sorted by type in ascending
|
||||
chronological order.
|
||||
info: |
|
||||
TestIntegrityLevel ( O, level )
|
||||
|
||||
[...]
|
||||
6. Let keys be ? O.[[OwnPropertyKeys]]().
|
||||
7. For each element k of keys, do
|
||||
a. Let currentDesc be ? O.[[GetOwnProperty]](k).
|
||||
|
||||
[[OwnPropertyKeys]] ( )
|
||||
|
||||
[...]
|
||||
6. If trap is undefined, then
|
||||
a. Return ? target.[[OwnPropertyKeys]]().
|
||||
|
||||
OrdinaryOwnPropertyKeys ( O )
|
||||
|
||||
[...]
|
||||
3. For each own property key P of O such that Type(P) is String and P is
|
||||
not an array index, in ascending chronological order of property creation, do
|
||||
a. Add P as the last element of keys.
|
||||
4. For each own property key P of O such that Type(P) is Symbol,
|
||||
in ascending chronological order of property creation, do
|
||||
a. Add P as the last element of keys.
|
||||
5. Return keys.
|
||||
features: [Proxy, Symbol, Reflect]
|
||||
includes: [compareArray.js]
|
||||
---*/
|
||||
|
||||
var target = {};
|
||||
var sym = Symbol();
|
||||
target[sym] = 1;
|
||||
target.foo = 2;
|
||||
target[0] = 3;
|
||||
Object.freeze(target);
|
||||
|
||||
var getOwnKeys = [];
|
||||
var proxy = new Proxy(target, {
|
||||
getOwnPropertyDescriptor: function(target, key) {
|
||||
getOwnKeys.push(key);
|
||||
return Reflect.getOwnPropertyDescriptor(target, key);
|
||||
},
|
||||
});
|
||||
|
||||
Object.isFrozen(proxy);
|
||||
assert.compareArray(getOwnKeys, ["0", "foo", sym]);
|
Loading…
Reference in New Issue