diff options
Diffstat (limited to 'test/built-ins/Object/freeze/15.2.3.9-2-a-5.js')
-rw-r--r-- | test/built-ins/Object/freeze/15.2.3.9-2-a-5.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/test/built-ins/Object/freeze/15.2.3.9-2-a-5.js b/test/built-ins/Object/freeze/15.2.3.9-2-a-5.js new file mode 100644 index 000000000..e01b86a8d --- /dev/null +++ b/test/built-ins/Object/freeze/15.2.3.9-2-a-5.js @@ -0,0 +1,40 @@ +// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +es5id: 15.2.3.9-2-a-5 +description: > + Object.freeze - 'P' is own accessor property that overrides an + inherited data property +includes: [runTestCase.js] +---*/ + +function testcase() { + + var proto = {}; + + proto.foo = 0; // default [[Configurable]] attribute value of foo: true + + var Con = function () { }; + Con.prototype = proto; + + var child = new Con(); + + Object.defineProperty(child, "foo", { + get: function () { + return 10; + }, + configurable: true + }); + + Object.freeze(child); + + var desc = Object.getOwnPropertyDescriptor(child, "foo"); + + delete child.foo; + return child.foo === 10 && desc.configurable === false; + } +runTestCase(testcase); |