UNPKG

honkit

Version:

HonKit is building beautiful books using Markdown.

72 lines (71 loc) 3.67 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const immutable_1 = __importDefault(require("immutable")); const pluginDependency_1 = __importDefault(require("../pluginDependency")); describe("PluginDependency", () => { describe("createFromString", () => { test("must parse name", () => { const plugin = pluginDependency_1.default.createFromString("hello"); expect(plugin.getName()).toBe("hello"); expect(plugin.getVersion()).toBe("*"); }); test("must parse state", () => { const plugin = pluginDependency_1.default.createFromString("-hello"); expect(plugin.getName()).toBe("hello"); expect(plugin.isEnabled()).toBe(false); }); describe("Version", () => { test("must parse version", () => { const plugin = pluginDependency_1.default.createFromString("hello@1.0.0"); expect(plugin.getName()).toBe("hello"); expect(plugin.getVersion()).toBe("1.0.0"); }); test("must parse semver", () => { const plugin = pluginDependency_1.default.createFromString("hello@>=4.0.0"); expect(plugin.getName()).toBe("hello"); expect(plugin.getVersion()).toBe(">=4.0.0"); }); }); describe("GIT Version", () => { test("must handle HTTPS urls", () => { const plugin = pluginDependency_1.default.createFromString("hello@git+https://github.com/GitbookIO/plugin-ga.git"); expect(plugin.getName()).toBe("hello"); expect(plugin.getVersion()).toBe("git+https://github.com/GitbookIO/plugin-ga.git"); }); test("must handle SSH urls", () => { const plugin = pluginDependency_1.default.createFromString("hello@git+ssh://samy@github.com/GitbookIO/plugin-ga.git"); expect(plugin.getName()).toBe("hello"); expect(plugin.getVersion()).toBe("git+ssh://samy@github.com/GitbookIO/plugin-ga.git"); }); }); describe("listToArray", () => { test("must create an array from a list of plugin dependencies", () => { const list = pluginDependency_1.default.listToArray(immutable_1.default.List([ pluginDependency_1.default.createFromString("hello@1.0.0"), pluginDependency_1.default.createFromString("noversion"), pluginDependency_1.default.createFromString("-disabled"), ])); expect(list).toEqual(["hello@1.0.0", "noversion", "-disabled"]); }); }); describe("listFromArray", () => { test("must create an array from a list of plugin dependencies", () => { const arr = immutable_1.default.fromJS([ "hello@1.0.0", { name: "plugin-ga", version: "git+ssh://samy@github.com/GitbookIO/plugin-ga.git", }, ]); const list = pluginDependency_1.default.listFromArray(arr); expect(list.first().getName()).toBe("hello"); expect(list.first().getVersion()).toBe("1.0.0"); expect(list.last().getName()).toBe("plugin-ga"); expect(list.last().getVersion()).toBe("git+ssh://samy@github.com/GitbookIO/plugin-ga.git"); }); }); }); });