Gus Caplan 2aacb28bb9 Fix some proxy tests (#1966)
- `Proxy/getOwnPropertyDescriptor/call-parameters.js`
  Fixes a call to `Object.getOwnPropertyDescriptor` without the prop
  param. Not actually a huge problem, as the test wasn't depending on
  it.

- `Proxy/getOwnPropertyDescriptor/result-type-is-not-object-nor-undefined`
  This test asserted that `function() {}` should throw with the
  following spec step, which is incorrect, as functions are typed as
  `Object` in the spec.
  """
  1. If Type(trapResultObj) is neither Object nor Undefined, throw a
    TypeError exception.
  """
2018-11-26 13:41:13 -05:00

36 lines
810 B
JavaScript

// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 9.5.5
description: >
Trap is called with hander context and parameters are target and P
info: |
[[GetOwnProperty]] (P)
...
9. Let trapResultObj be Call(trap, handler, «target, P»).
...
features: [Proxy]
---*/
var _target, _handler, _prop;
var target = {
attr: 1
};
var handler = {
getOwnPropertyDescriptor: function(t, prop) {
_target = t;
_handler = this;
_prop = prop;
return Object.getOwnPropertyDescriptor(t, prop);
}
};
var p = new Proxy(target, handler);
Object.getOwnPropertyDescriptor(p, "attr");
assert.sameValue(_handler, handler);
assert.sameValue(_target, target);
assert.sameValue(_prop, "attr");