UNPKG

honkit

Version:

HonKit is building beautiful books using Markdown.

116 lines (115 loc) 4.11 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const summary_1 = __importDefault(require("../summary")); const file_1 = __importDefault(require("../file")); describe("Summary", () => { const summary = summary_1.default.createFromParts(new file_1.default(), [ { articles: [ // 1.1 { title: "My First Article", ref: "README.md", }, // 1.2 { title: "My Second Article", ref: "article.md", }, // 1.3 { title: "My Third Article with anchor", ref: "article-anchor.md", articles: [ { title: "Article with anchor", ref: "article-anchor.md#anchor", }, ], }, // 1.4 { title: "Article without ref", }, // 1.5 { title: "Article with absolute ref", ref: "https://google.fr", }, ], }, { title: "Test", }, ]); describe("createFromEntries", () => { test("must add all parts", () => { const parts = summary.getParts(); expect(parts.size).toBe(2); }); }); describe("getNextArticle", () => { it("return next article", () => { const nextArticle = summary.getNextArticle("1.1"); expect(nextArticle.getLevel()).toBe("1.2"); }); it("ignore anchor article", () => { const nextArticle = summary.getNextArticle("1.3"); // next is anchor expect(nextArticle.getLevel()).toBe("1.4"); }); }); describe("getPrevArticle", () => { it("return prev article", () => { const prevArticle = summary.getPrevArticle("1.2"); expect(prevArticle.getLevel()).toBe("1.1"); }); it("ignore anchor article", () => { const prevArticle = summary.getPrevArticle("1.4"); expect(prevArticle.getLevel()).toBe("1.3"); }); }); describe("getByLevel", () => { test("can return a Part", () => { const part = summary.getByLevel("1"); expect(part).toBeDefined(); expect(part.getArticles().size).toBe(5); }); test("can return a Part (2)", () => { const part = summary.getByLevel("2"); expect(part).toBeDefined(); expect(part.getTitle()).toBe("Test"); expect(part.getArticles().size).toBe(0); }); test("can return an Article", () => { const article = summary.getByLevel("1.1"); expect(article).toBeDefined(); expect(article.getTitle()).toBe("My First Article"); }); }); describe("getByPath", () => { test("return correct article", () => { const article = summary.getByPath("README.md"); expect(article).toBeDefined(); expect(article.getTitle()).toBe("My First Article"); }); test("return correct article", () => { const article = summary.getByPath("article.md"); expect(article).toBeDefined(); expect(article.getTitle()).toBe("My Second Article"); }); test("return undefined if not found", () => { const article = summary.getByPath("NOT_EXISTING.md"); expect(article).toBeFalsy(); }); }); describe("toText", () => { test("return as markdown", () => { return summary.toText(".md").then((text) => { expect(text).toContain("# Summary"); }); }); }); });