blob: c72a89a2da161314bee1e9316bae5559340f5f7e [file] [log] [blame]
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/licenses/publicdomain/
*/
/*
* 'with' statements are forbidden in strict top-level code. This is
* eval code, but that's close enough.
*/
assertEq(testLenientAndStrict('with (1) {}',
completesNormally,
raisesException(SyntaxError)),
true);
/* 'with' statements are forbidden in strict function code. */
assertEq(testLenientAndStrict('function f() { "use strict"; with (1) {} }',
parseRaisesException(SyntaxError),
parseRaisesException(SyntaxError)),
true);
/*
* A use strict directive in a function mustn't affect the strictness
* of subsequent code.
*/
assertEq(parsesSuccessfully('function f() { "use strict"; }; with (1) {}'),
true);
reportCompare(true, true);
var successfullyParsed = true;