| // Copyright 2009 the Sputnik authors. All rights reserved. |
| // This code is governed by the BSD license found in the LICENSE file. |
| |
| /*--- |
| info: | |
| Since when call is used for Function constructor themself new function instance creates |
| and then first argument(thisArg) should be ignored |
| es5id: 15.3_A3_T1 |
| description: First argument is object |
| ---*/ |
| |
| //CHECK#1 - does not throw |
| var f = Function.call(mars, "return name;"); |
| var mars = { |
| name: "mars", |
| color: "red", |
| number: 4 |
| }; |
| |
| var f = Function.call(mars, "this.godname=\"ares\"; return this.color;"); |
| |
| var about_mars = f(); |
| |
| //CHECK#2 |
| if (about_mars !== undefined) { |
| $ERROR('#2: When applied to the Function object itself, thisArg should be ignored'); |
| } |
| |
| //CHECK#3 |
| if (this.godname !== "ares" && mars.godname === undefined) { |
| $ERROR('#3: When applied to the Function object itself, thisArg should be ignored'); |
| } |