michael@0: // When we assign to a property that a proxy claims is inherited, the michael@0: // defineProperty handler call to create the new own property should get michael@0: // the newly assigned value. michael@0: michael@0: var hits; michael@0: var handlers = { michael@0: getOwnPropertyDescriptor: function(name) { michael@0: return undefined; michael@0: }, michael@0: getPropertyDescriptor: function(name) { michael@0: return { value:42, writable:true, enumerable:true, configurable:true }; michael@0: }, michael@0: defineProperty: function(name, descriptor) { michael@0: hits++; michael@0: assertEq(name, 'x'); michael@0: assertEq(descriptor.value, 43); michael@0: } michael@0: }; michael@0: hits = 0; michael@0: Proxy.create(handlers).x = 43; michael@0: assertEq(hits, 1);