Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
1 load(libdir + "asserts.js");
3 /*
4 * Throw a TypeError if both the current descriptor and the descriptor returned
5 * by the trap are data descriptors, the current descriptor is non-configurable
6 * and non-writable, and the descriptor returned by the trap does not have the
7 * same value.
8 */
9 var target = {};
10 Object.defineProperty(target, 'foo', {
11 value: 'bar',
12 writable: false,
13 configurable: false
14 });
15 var caught = false;
16 assertThrowsInstanceOf(function () {
17 Object.getOwnPropertyDescriptor(new Proxy(target, {
18 getOwnPropertyDescriptor: function (target, name) {
19 return {
20 value: 'baz',
21 writable: false,
22 configurable: false
23 };
24 }
25 }), 'foo');
26 }, TypeError);