
eval only has direct access to the local scope when accessed through the name eval. This includes locals named eval, because of course it does.
15 lines
540 B
JavaScript
15 lines
540 B
JavaScript
test("variable named 'eval' pointing to another function calls that function", function () {
|
|
var testValue = "inner";
|
|
// This breaks prettier as it considers this to be a parse error
|
|
// before even trying to do any linting
|
|
var eval = () => {
|
|
return "wat";
|
|
};
|
|
expect(eval("testValue")).toEqual("wat");
|
|
});
|
|
|
|
test("variable named 'eval' pointing to real eval works as a direct eval", function () {
|
|
var testValue = "inner";
|
|
var eval = globalThis.eval;
|
|
expect(eval("testValue")).toEqual("inner");
|
|
});
|