-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
/
resolution.js
47 lines (41 loc) 路 1.16 KB
/
resolution.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import assert from "assert";
import async from "async";
import * as babel from "../lib/api/node";
import fs from "fs";
import path from "path";
// Test that plugins & presets are resolved relative to `filename`.
describe("addon resolution", function () {
it("addon resolution", function (done) {
const fixtures = {};
const 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);
const actual = babel.transform(fixtures.actual, {
filename: paths.actual,
plugins: ["addons/plugin"],
presets: ["addons/preset"],
}).code;
assert.equal(actual, fixtures.expected);
done();
}
// fixturesReady
});
});