// Copyright (c) 2012 Ecma International. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- es5id: 15.2.3.6-4-24 description: > Object.defineProperty - 'name' is own data property that overrides an inherited data property (8.12.9 step 1) ---*/ var proto = {}; Object.defineProperty(proto, "foo", { value: 12, configurable: true }); var ConstructFun = function() {}; ConstructFun.prototype = proto; var obj = new ConstructFun(); Object.defineProperty(obj, "foo", { value: 11, configurable: false }); assert.throws(TypeError, function() { Object.defineProperty(obj, "foo", { configurable: true }); }); assert.sameValue(obj.foo, 11, 'obj.foo');