1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- import * as babel from "@babel/core";
- import es2015 from "../lib";
- function transform(code, opts) {
- return babel.transform(code, {
- cwd: __dirname,
- ...opts,
- });
- }
- describe("es2015 preset", function() {
- it("does throw clear error when no options passed for Babel 6", () => {
- expect(function() {
- es2015({ version: "6.5.0" });
- }).toThrow(Error, /Requires Babel "\^7.0.0-0"/);
- });
- describe("options", function() {
- describe("loose", function() {
- it("throws on non-boolean value", function() {
- expect(function() {
- transform("", { presets: [[es2015, { loose: 1 }]] });
- }).toThrow(/must be a boolean/);
- });
- });
- describe("spec", function() {
- it("throws on non-boolean value", function() {
- expect(function() {
- transform("", { presets: [[es2015, { spec: 1 }]] });
- }).toThrow(/must be a boolean/);
- });
- });
- describe("modules", function() {
- it("doesn't throw when passing one false", function() {
- expect(function() {
- transform("", { presets: [[es2015, { modules: false }]] });
- }).not.toThrow();
- });
- it("doesn't throw when passing one of: 'commonjs', 'amd', 'umd', 'systemjs", function() {
- expect(function() {
- transform("", { presets: [[es2015, { modules: "commonjs" }]] });
- }).not.toThrow();
- expect(function() {
- transform("", { presets: [[es2015, { modules: "amd" }]] });
- }).not.toThrow();
- expect(function() {
- transform("", { presets: [[es2015, { modules: "umd" }]] });
- }).not.toThrow();
- expect(function() {
- transform("", { presets: [[es2015, { modules: "systemjs" }]] });
- }).not.toThrow();
- });
- it("throws when passing neither false nor one of: 'commonjs', 'amd', 'umd', 'systemjs'", function() {
- expect(function() {
- transform("", { presets: [[es2015, { modules: 1 }]] });
- }).toThrow();
- });
- });
- });
- });
|