| // Copyright (c) 2012 Ecma International. All rights reserved. |
| // This code is governed by the BSD license found in the LICENSE file. |
| Redefine a configurable accessor property to be a data property on |
| Object.defineProperty(o, "foo", |
| { get: function() { return 5;}, |
| Object.preventExtensions(o); |
| Object.defineProperty(o, "foo", |
| var fooDescrip = Object.getOwnPropertyDescriptor(o, "foo"); |
| assert.sameValue(o.foo, "hello", 'o.foo'); |
| assert.sameValue(fooDescrip.get, undefined, 'fooDescrip.get'); |
| assert.sameValue(fooDescrip.set, undefined, 'fooDescrip.set'); |
| assert.sameValue(fooDescrip.value, "hello", 'fooDescrip.value'); |
| assert.sameValue(fooDescrip.configurable, true, 'fooDescrip.configurable'); |
| assert.sameValue(fooDescrip.enumerable, false, 'fooDescrip.enumerable'); |
| assert.sameValue(fooDescrip.writable, true, 'fooDescrip.writable'); |