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

branch
TOR_BUG_3246
changeset 6
8bccb770b82d
equal deleted inserted replaced
-1:000000000000 0:7c8dc12ac24b
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-31-s.js
8 * @description Strict Mode - TypeError is thrown if The LeftHandSide of a Compound Assignment operator(&=) is a reference to a data property with the attribute value {[[Writable]]:false}
9 * @onlyStrict
10 */
11
12
13 function testcase() {
14 "use strict";
15 var obj = {};
16 Object.defineProperty(obj, "prop", {
17 value: 10,
18 writable: false,
19 enumerable: true,
20 configurable: true
21 });
22
23 try {
24 obj.prop &= 20;
25 return false;
26 } catch (e) {
27 return e instanceof TypeError && obj.prop === 10;
28 }
29 }
30 runTestCase(testcase);

mercurial