blob: 4a8638eb1b421be2e9403b2447445ebb44617e42 [file] [log] [blame]
// 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 have entries whose type does not match
« String, Symbol ».
info: |
[[OwnPropertyKeys]] ( )
...
7. Let trapResultArray be ? Call(trap, handler, « target »).
8. Let trapResult be ?
CreateListFromArrayLike(trapResultArray, « String, Symbol »).
...
CreateListFromArrayLike ( obj [ , elementTypes ] )
...
6. Repeat, while index < len
...
d. If Type(next) is not an element of elementTypes,
throw a TypeError exception.
features: [Proxy]
---*/
var p = new Proxy({}, {
ownKeys: function() {
return [
[]
];
}
});
assert.throws(TypeError, function() {
Object.keys(p);
});