UNPKG

honkit

Version:

HonKit is building beautiful books using Markdown.

76 lines (75 loc) 3.04 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 summary_1 = __importDefault(require("../../../models/summary")); const file_1 = __importDefault(require("../../../models/file")); const moveArticleAfter_1 = __importDefault(require("../moveArticleAfter")); describe("moveArticleAfter", () => { const summary = summary_1.default.createFromParts(new file_1.default(), [ { articles: [ { title: "1.1", path: "1.1", }, { title: "1.2", path: "1.2", }, ], }, { title: "Part I", articles: [ { title: "2.1", path: "2.1", articles: [ { title: "2.1.1", path: "2.1.1", }, { title: "2.1.2", path: "2.1.2", }, ], }, { title: "2.2", path: "2.2", }, ], }, ]); test("moving right after itself should be invariant", () => { const newSummary = (0, moveArticleAfter_1.default)(summary, "2.1", "2.1"); expect(immutable_1.default.is(summary, newSummary)).toBe(true); }); test("moving after previous one should be invariant too", () => { const newSummary = (0, moveArticleAfter_1.default)(summary, "2.1", "2.0"); expect(immutable_1.default.is(summary, newSummary)).toBe(true); }); test("should move an article after a previous level", () => { const newSummary = (0, moveArticleAfter_1.default)(summary, "2.2", "2.0"); const moved = newSummary.getByLevel("2.1"); expect(moved.getTitle()).toBe("2.2"); expect(newSummary.getByLevel("2.2").getTitle()).toBe("2.1"); }); test("should move an article after a previous and less deep level", () => { const newSummary = (0, moveArticleAfter_1.default)(summary, "2.1.1", "2.0"); const moved = newSummary.getByLevel("2.1"); expect(moved.getTitle()).toBe("2.1.1"); expect(newSummary.getByLevel("2.2.1").getTitle()).toBe("2.1.2"); expect(newSummary.getByLevel("2.2").getTitle()).toBe("2.1"); }); test("should move an article after a next level", () => { const newSummary = (0, moveArticleAfter_1.default)(summary, "2.1", "2.2"); const moved = newSummary.getByLevel("2.2"); expect(moved.getTitle()).toBe("2.1"); expect(newSummary.getByLevel("2.1").getTitle()).toBe("2.2"); }); });