mirror of https://github.com/tc39/test262.git
Proxy, [[OwnPropertyKeys]]: If trapResult contains any duplicate entries, throw a TypeError
Ref: https://github.com/tc39/ecma262/pull/833
This commit is contained in:
parent
3ebd97ca9b
commit
9e88bb9a45
|
@ -0,0 +1,22 @@
|
|||
// Copyright (C) 2017 the V8 project authors. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
|
||||
description: >
|
||||
The returned list must not contain any duplicate entries.
|
||||
info: >
|
||||
[[OwnPropertyKeys]] ( )
|
||||
|
||||
...
|
||||
9. If trapResult contains any duplicate entries, throw a TypeError exception.
|
||||
---*/
|
||||
|
||||
var p = new Proxy({}, {
|
||||
ownKeys() {
|
||||
return ["a", "a"];
|
||||
}
|
||||
});
|
||||
|
||||
assert.throws(TypeError, function() {
|
||||
Object.keys(p);
|
||||
});
|
|
@ -0,0 +1,23 @@
|
|||
// Copyright (C) 2017 the V8 project authors. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
|
||||
description: >
|
||||
The returned list must not contain any duplicate entries.
|
||||
info: >
|
||||
[[OwnPropertyKeys]] ( )
|
||||
|
||||
...
|
||||
9. If trapResult contains any duplicate entries, throw a TypeError exception.
|
||||
---*/
|
||||
|
||||
var s = Symbol();
|
||||
var p = new Proxy({}, {
|
||||
ownKeys() {
|
||||
return [s, s];
|
||||
}
|
||||
});
|
||||
|
||||
assert.throws(TypeError, function() {
|
||||
Object.keys(p);
|
||||
});
|
Loading…
Reference in New Issue