js/src/tests/test262/ch11/11.2/11.2.3/11.2.3-3_6.js

branch
TOR_BUG_3246
changeset 6
8bccb770b82d
equal deleted inserted replaced
-1:000000000000 0:ba7952559af8
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.2/11.2.3/11.2.3-3_6.js
8 * @description Call arguments are evaluated before the check is made to see if the object is actually callable (getter called)
9 */
10
11
12 function testcase() {
13 var o = { };
14 Object.defineProperty(o, "bar", {get: function() {this.barGetter = true; return 42;},
15 set: function(x) {this.barSetter = true; }});
16 try {
17 o.foo( o.bar );
18 throw new Exception("o.foo does not exist!");
19 } catch(e) {
20 return (e instanceof TypeError) && (o.barGetter===true) && (o.barSetter===undefined);
21 }
22 }
23 runTestCase(testcase);

mercurial