Files
add-and-commit/node_modules/babel-helper-mark-eval-scopes/__tests__/helper-mark-eval-scopes-test.js
Federico Grandi f118062594 Update with working working version (#12)
* Fix workflow

* Trigger

* [auto] Update compiled version

* [auto] Commit modules

* Push Windows changes

* Fix

* [auto] Update compiled version

* Try removing cwd

* [auto] Update compiled version

* Try with path module

* [auto] Update compiled version

* Fix path

* [auto] Update compiled version

* Use raw path

* [auto] Update compiled version

* Other path

* [auto] Update compiled version

* Avoid @action/exec

* [auto] Update compiled version

* test

* [auto] Update compiled version

* test

* [auto] Update compiled version

* test

* [auto] Update compiled version

* test

* [auto] Update compiled version

* Try with shelljs

* [auto] Update compiled version

* Fix my stupidity

* Copy scripts to local dir

* [auto] Update compiled version

* Still use path

* [auto] Update compiled version

* Delete entrypoint.sh

* [auto] Update compiled version

* Make file executable

* [auto] Update compiled version

* Try using bash

* [auto] Update compiled version
2019-12-14 21:47:13 +01:00

49 lines
1.1 KiB
JavaScript

jest.autoMockOff();
const babel = require("@babel/core");
const helper = require("../src");
function getPath(source) {
let path;
babel.transform(source, {
babelrc: false,
plugins: [
function({ traverse }) {
(traverse.clearCache || traverse.cache.clear)();
return {
visitor: {
Program(programPath) {
path = programPath;
}
}
};
}
]
});
return path;
}
describe("babel-helper-mark-eval-scopes", () => {
it("getEvalScopes - should give a set of scopes which contains eval", () => {
const source = `
function foo() {
function bar() {
eval(";");
}
function baz() {
noeval();
}
}
`;
const program = getPath(source);
const evalScopes = [...helper.getEvalScopes(program)];
expect(evalScopes).toContain(program.scope);
expect(evalScopes).toContain(program.get("body.0.body.body.0").scope);
expect(evalScopes).not.toContain(program.get("body.0.body.body.1").scope);
});
});