Add test for file-relative addon resolution
Plugins & presets.
This commit is contained in:
parent
fd3aad5811
commit
77f5d30fb1
1
packages/babel-core/test/fixtures/resolution/resolve-addons-relative-to-file/.gitignore
vendored
Normal file
1
packages/babel-core/test/fixtures/resolution/resolve-addons-relative-to-file/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
!node_modules/
|
||||
1
packages/babel-core/test/fixtures/resolution/resolve-addons-relative-to-file/actual.js
vendored
Normal file
1
packages/babel-core/test/fixtures/resolution/resolve-addons-relative-to-file/actual.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
var x = "before";
|
||||
1
packages/babel-core/test/fixtures/resolution/resolve-addons-relative-to-file/expected.js
vendored
Normal file
1
packages/babel-core/test/fixtures/resolution/resolve-addons-relative-to-file/expected.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
var x = "AFTER";
|
||||
9
packages/babel-core/test/fixtures/resolution/resolve-addons-relative-to-file/node_modules/addons/plugin.js
generated
vendored
Normal file
9
packages/babel-core/test/fixtures/resolution/resolve-addons-relative-to-file/node_modules/addons/plugin.js
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
module.exports = function () {
|
||||
return {
|
||||
visitor: {
|
||||
StringLiteral: function (path) {
|
||||
path.node.value = "after";
|
||||
},
|
||||
},
|
||||
};
|
||||
};
|
||||
14
packages/babel-core/test/fixtures/resolution/resolve-addons-relative-to-file/node_modules/addons/preset.js
generated
vendored
Normal file
14
packages/babel-core/test/fixtures/resolution/resolve-addons-relative-to-file/node_modules/addons/preset.js
generated
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
module.exports = {
|
||||
plugins: [plugin],
|
||||
};
|
||||
|
||||
function plugin () {
|
||||
return {
|
||||
visitor: {
|
||||
StringLiteral: function (path) {
|
||||
path.node.value =
|
||||
path.node.value.toUpperCase();
|
||||
},
|
||||
},
|
||||
};
|
||||
}
|
||||
47
packages/babel-core/test/resolution.js
Normal file
47
packages/babel-core/test/resolution.js
Normal file
@ -0,0 +1,47 @@
|
||||
var assert = require("assert");
|
||||
var async = require("async");
|
||||
var babel = require("../lib/api/node");
|
||||
var fs = require("fs");
|
||||
var path = require("path");
|
||||
|
||||
// Test that plugins & presets are resolved relative to `filename`.
|
||||
suite("addon resolution", function () {
|
||||
test("addon resolution", function (done) {
|
||||
var fixtures = {};
|
||||
var paths = {};
|
||||
|
||||
paths.fixtures = path.join(
|
||||
__dirname,
|
||||
"fixtures",
|
||||
"resolution",
|
||||
"resolve-addons-relative-to-file"
|
||||
);
|
||||
|
||||
async.each(
|
||||
["actual", "expected"],
|
||||
function (key, mapDone) {
|
||||
paths[key] = path.join(paths.fixtures, key + ".js");
|
||||
fs.readFile(paths[key], { encoding: "utf8" }, function (err, data) {
|
||||
if (err) return mapDone(err);
|
||||
fixtures[key] = data.trim();
|
||||
mapDone();
|
||||
});
|
||||
},
|
||||
fixturesReady
|
||||
);
|
||||
|
||||
function fixturesReady (err) {
|
||||
if (err) return done(err);
|
||||
|
||||
var actual = babel.transform(fixtures.actual, {
|
||||
filename: paths.actual,
|
||||
plugins: ["addons/plugin"],
|
||||
presets: ["addons/preset"],
|
||||
}).code;
|
||||
|
||||
assert.equal(actual, fixtures.expected);
|
||||
done();
|
||||
}
|
||||
// fixturesReady
|
||||
});
|
||||
});
|
||||
Loading…
x
Reference in New Issue
Block a user