diff options
Diffstat (limited to 'test/built-ins/Object/defineProperty/15.2.3.6-3-7.js')
-rw-r--r-- | test/built-ins/Object/defineProperty/15.2.3.6-3-7.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-7.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-7.js new file mode 100644 index 000000000..ffa6ac7e8 --- /dev/null +++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-7.js @@ -0,0 +1,36 @@ +// 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. + +/*--- +info: > + The abtract operation ToPropertyDescriptor is used to package the + into a property desc. Step 10 of ToPropertyDescriptor throws a TypeError + if the property desc ends up having a mix of accessor and data property elements. +es5id: 15.2.3.6-3-7 +description: > + Object.defineProperty throws TypeError if getter is not callable + but not undefined (String)(8.10.5 step 7.b) +includes: [runTestCase.js] +---*/ + +function testcase() { + var o = {}; + + // dummy getter + var getter = "abc"; + var desc = { get: getter }; + + try { + Object.defineProperty(o, "foo", desc); + } + catch (e) { + if (e instanceof TypeError && + (o.hasOwnProperty("foo") === false)) { + return true; + } + } + } +runTestCase(testcase); |