Fri, 16 Jan 2015 04:50:19 +0100
Replace accessor implementation with direct member state manipulation, by
request https://trac.torproject.org/projects/tor/ticket/9701#comment:32
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);