// Copyright (C) 2016 the V8 project authors. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- description: Evaluated code honors the strictness of the calling context esid: sec-function-calls-runtime-semantics-evaluation info: | [...] 3. If Type(ref) is Reference and IsPropertyReference(ref) is false and GetReferencedName(ref) is "eval", then a. If SameValue(func, %eval%) is true, then [...] iv. If the source code matching this CallExpression is strict code, let strictCaller be true. Otherwise let strictCaller be false. [...] flags: [onlyStrict] ---*/ assert.throws(SyntaxError, function() { eval('var static;'); }); assert.throws(SyntaxError, function() { eval('with ({}) {}'); }); assert.throws(ReferenceError, function() { eval('unresolvable = null;'); });