call-parameters-object-keys.js (789B)
1 // Copyright (C) 2015 the V8 project authors. All rights reserved. 2 // This code is governed by the BSD license found in the LICENSE file. 3 /*--- 4 esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys 5 description: > 6 [[OwnPropertyKeys]] ( ) 7 8 7. Let trapResultArray be ? Call(trap, handler, « target »). 9 features: [Proxy] 10 ---*/ 11 12 var _target, _handler; 13 var target = { 14 foo: 1, 15 bar: 2 16 }; 17 var handler = { 18 ownKeys: function(t) { 19 _handler = this; 20 _target = t; 21 return Object.keys(t); 22 } 23 }; 24 var p = new Proxy(target, handler); 25 26 var keys = Object.keys(p); 27 28 assert.sameValue(keys[0], "foo"); 29 assert.sameValue(keys[1], "bar"); 30 assert.sameValue(keys.length, 2); 31 assert.sameValue(_handler, handler); 32 assert.sameValue(_target, target); 33 34 reportCompare(0, 0);