Merge pull request #2888 from amasad/plugin-regression
Introduce exec tests for plugin regressions
This commit is contained in:
commit
64688dfe9c
@ -107,8 +107,8 @@ function run(task, done) {
|
||||
}
|
||||
};
|
||||
|
||||
var fn = new Function("require", "done", "exports", execCode);
|
||||
fn.call(global, fakeRequire, chai.assert, {}, done);
|
||||
var fn = new Function("require", "assert", "exports", "done", "transform", execCode);
|
||||
fn.call(global, fakeRequire, chai.assert, {}, done, transform);
|
||||
} catch (err) {
|
||||
err.message = exec.loc + ": " + err.message;
|
||||
err.message += codeFrame(execCode);
|
||||
|
||||
37
packages/babel-core/test/fixtures/plugins/regression-2772/exec.js
vendored
Normal file
37
packages/babel-core/test/fixtures/plugins/regression-2772/exec.js
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
var code = `
|
||||
(function() {
|
||||
function foo(b){
|
||||
b === "lol";
|
||||
foo(b);
|
||||
}
|
||||
})();
|
||||
`;
|
||||
|
||||
transform(code, {
|
||||
plugins: [
|
||||
function (b) {
|
||||
var t = b.types;
|
||||
return {
|
||||
visitor: {
|
||||
// Replace block statements with a new node without changing anything
|
||||
BlockStatement: function(path) {
|
||||
if (path.node.seen) {
|
||||
return;
|
||||
}
|
||||
var node = t.blockStatement(path.node.body);
|
||||
node.seen = true;
|
||||
path.replaceWith(node);
|
||||
},
|
||||
// do type inference
|
||||
BinaryExpression: function(path) {
|
||||
var left = path.get("left");
|
||||
var right = path.get("right");
|
||||
left.baseTypeStrictlyMatches(right);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
],
|
||||
compact: true,
|
||||
comments: false,
|
||||
}).code;
|
||||
1
packages/babel-core/test/plugins.js
Normal file
1
packages/babel-core/test/plugins.js
Normal file
@ -0,0 +1 @@
|
||||
require("./_transformation-helper").run("plugins");
|
||||
Loading…
x
Reference in New Issue
Block a user