2017-11-21 20:03:16 -05:00

58 lines
1.3 KiB
JavaScript

const assert = require("assert");
const mock = require("mock-require");
const Babel = require("@babel/standalone/babel");
mock("Babel", Babel);
require("../babel-preset-env");
describe("babel-preset-env-standalone", () => {
it("works w/o targets", () => {
const output = Babel.transform("const a = 1;", {
presets: ["env"],
}).code;
assert.equal(output, "var a = 1;");
});
it("doesn't transpile `const` with chrome 60", () => {
const output = Babel.transform("const a = 1;", {
presets: [
[
"env",
{
targets: {
chrome: 60,
},
},
],
],
}).code;
assert.equal(output, "const a = 1;");
});
it("transpiles `const` with chrome 60 and preset-es2015", () => {
const output = Babel.transform("const a = 1;", {
presets: [
[
"env",
{
targets: {
chrome: 60,
},
},
],
"es2015",
],
}).code;
assert.equal(output, "var a = 1;");
});
it("uses transform-new-targets plugin", () => {
const output = Babel.transform("function Foo() {new.target}", {
presets: ["env"],
}).code;
assert.equal(
output,
"function Foo() {\n this instanceof Foo ? this.constructor : void 0;\n}",
);
});
});