| // Copyright (c) 2012 Ecma International. All rights reserved. |
| // This code is governed by the BSD license found in the LICENSE file. |
| |
| /*--- |
| es5id: 10.6-13-a-2 |
| description: A direct call to arguments.callee.caller should work |
| flags: [noStrict] |
| features: [caller] |
| ---*/ |
| |
| var called = false; |
| |
| function test1(flag) { |
| if (flag!==true) { |
| test2(); |
| } else { |
| called = true; |
| } |
| } |
| |
| function test2() { |
| if(arguments.callee.caller===undefined) { |
| called=true; // Extension not supported - fake it |
| } else { |
| arguments.callee.caller(true); |
| } |
| } |
| |
| test1(); |
| |
| assert(called, 'called !== true'); |