diff options
Diffstat (limited to 'js/src/tests/test262/built-ins/Function/15.3.5.4_2-41gs.js')
-rw-r--r-- | js/src/tests/test262/built-ins/Function/15.3.5.4_2-41gs.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/Function/15.3.5.4_2-41gs.js b/js/src/tests/test262/built-ins/Function/15.3.5.4_2-41gs.js new file mode 100644 index 0000000000..0c73100035 --- /dev/null +++ b/js/src/tests/test262/built-ins/Function/15.3.5.4_2-41gs.js @@ -0,0 +1,28 @@ +// Copyright (c) 2012 Ecma International. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es5id: 15.3.5.4_2-41gs +description: > + Strict mode - checking access to strict function caller from + non-strict function (Anonymous FunctionExpression with a strict + directive prologue defined within a FunctionDeclaration) +flags: [noStrict] +---*/ + +function f1() { + return (function() { + "use strict"; + gNonStrict(); + })(); +} + +assert.throws(TypeError, function() { + f1(); +}); + +function gNonStrict() { + return gNonStrict.caller || gNonStrict.caller.throwTypeError; +} + +reportCompare(0, 0); |