require("../../lib/babel/api/node"); var buildExternalHelpers = require("../../lib/babel/tools/build-external-helpers"); var transform = require("../../lib/babel/transformation"); var assert = require("assert"); var File = require("../../lib/babel/transformation/file"); suite("api", function () { test("{ code: false }", function () { var result = transform("foo('bar');", { code: false }); assert.ok(!result.code); }); test("{ ast: false }", function () { var result = transform("foo('bar');", { ast: false }); assert.ok(!result.ast); }); test("addHelper unknown", function () { var file = new File; assert.throws(function () { file.addHelper("foob"); }, /Unknown helper foob/); }); test("extra options", function () { var file1 = new File({ extra: { foo: "bar" } }); assert.equal(file1.opts.extra.foo, "bar"); var file2 = new File; var file3 = new File; assert.ok(file2.opts.extra !== file3.opts.extra); }); suite("buildExternalHelpers", function () { test("all", function () { var script = buildExternalHelpers(); assert.ok(script.indexOf("classCallCheck") >= -1); assert.ok(script.indexOf("inherits") >= 0); }); test("whitelist", function () { var script = buildExternalHelpers(["inherits"]); assert.ok(script.indexOf("classCallCheck") === -1); assert.ok(script.indexOf("inherits") >= 0); }); test("empty whitelist", function () { var script = buildExternalHelpers([]); assert.ok(script.indexOf("classCallCheck") === -1); assert.ok(script.indexOf("inherits") === -1); }); }); });