js/src/tests/test262/ch11/11.13/11.13.2/11.13.2-38-s.js

branch
TOR_BUG_3246
changeset 6
8bccb770b82d
equal deleted inserted replaced
-1:000000000000 0:c4b6999bdfd1
1 /// Copyright (c) 2012 Ecma International. All rights reserved.
2 /// Ecma International makes this code available under the terms and conditions set
3 /// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
4 /// "Use Terms"). Any redistribution of this code must retain the above
5 /// copyright and this notice and otherwise comply with the Use Terms.
6 /**
7 * @path ch11/11.13/11.13.2/11.13.2-38-s.js
8 * @description Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(-=) is a reference to an accessor property with the attribute value {[[Set]]:undefined}
9 * @onlyStrict
10 */
11
12
13 function testcase() {
14 "use strict";
15 var obj = {};
16 Object.defineProperty(obj, "prop", {
17 get: function () {
18 return 11;
19 },
20 set: undefined,
21 enumerable: true,
22 configurable: true
23 });
24
25 try {
26 obj.prop -= 20;
27 return false;
28 } catch (e) {
29 return e instanceof TypeError && obj.prop === 11;
30 }
31 }
32 runTestCase(testcase);

mercurial