1
0
mirror of https://github.com/S2-/minifyfromhtml.git synced 2025-08-03 20:30:04 +02:00
Files
minifyfromhtml/node_modules/babel-helper-mark-eval-scopes/__tests__/helper-mark-eval-scopes-test.js
2018-05-05 13:54:07 +02: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);
});
});