diff options
Diffstat (limited to 'js/src/tests/non262/extensions/uneval/strict-function-toSource.js')
-rw-r--r-- | js/src/tests/non262/extensions/uneval/strict-function-toSource.js | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/js/src/tests/non262/extensions/uneval/strict-function-toSource.js b/js/src/tests/non262/extensions/uneval/strict-function-toSource.js new file mode 100644 index 0000000000..383da34df6 --- /dev/null +++ b/js/src/tests/non262/extensions/uneval/strict-function-toSource.js @@ -0,0 +1,19 @@ +// |reftest| skip-if(!this.uneval) + +/* + * Bug 800407 - Functions defined with Function construcor + * do have strict mode when JSOPTION_STRICT_MODE is on. + */ + +options("strict_mode"); +function testRunOptionStrictMode(str, arg, result) { + var strict_inner = new Function('return typeof this == "undefined";'); + return strict_inner; +} +let inner = testRunOptionStrictMode(); +assertEq(inner(), true); +assertEq(eval(uneval(inner))(), true); + +assertEq((new Function('x', 'return x*2;')).toSource().includes('"use strict"'), false); + +reportCompare(true, true); |