blob: 954614283c651c743e905e113bc273321b9c6326 [file] [log] [blame]
function foo() {
"hello world i'm not use strict.";
function bar() {
return 25;
}
bar();
"use strict";
return this;
}
if (foo.call(undefined) !== this)
throw new Error("Bad parsing strict mode.");
function bar() {
"hello world i'm not use strict.";
function foo() {
return this;
}
"use strict";
return foo.call(undefined);
}
if (bar.call(undefined) !== this)
throw new Error("Bad parsing strict mode.")
function baz() {
"foo";
"bar";
"baz";
"foo";
"bar";
"baz";
"foo";
"bar";
"baz";
"use strict";
return this;
}
if (baz.call(undefined) !== undefined)
throw new Error("Bad parsing strict mode.")
function jaz() {
"foo";
`bar`;
"use strict";
return this;
}
if (jaz.call(undefined) !== this)
throw new Error("Bad parsing strict mode.")
function vaz() {
"foo";
"use strict";
`bar`;
return this;
}
if (vaz.call(undefined) !== undefined)
throw new Error("Bad parsing strict mode.")
function hello() {
"foo";
2 + 2
"use strict";
return this;
}
if (hello.call(undefined) !== this)
throw new Error("Bad parsing strict mode.")
function world() {
"foo";
let x;
"use strict";
return this;
}
if (world.call(undefined) !== this)
throw new Error("Bad parsing strict mode.")
function a() {
"foo";
world;
"use strict";
return this;
}
if (a.call(undefined) !== this)
throw new Error("Bad parsing strict mode.")
if (eval("'foo'; 'use strict'; 'bar';") !== "bar")
throw new Error("Bad parsing strict mode.");
if (eval("'foo'; 'use strict'; 'bar'; this;") !== this)
throw new Error("Bad parsing strict mode.");