UNPKG

insta-toc

Version:

Simultaneously generate, update, and maintain a table of contents for your notes in real time.

43 lines (30 loc) 1.77 kB
import { describe, expect, test } from "vitest"; import { getDefaultLocalSettings } from "../src/settings/Settings"; import { resolveTocTitle } from "../src/settings/localTocSettings"; describe("resolveTocTitle", () => { test("prefers local title settings over global settings", () => { const local = getDefaultLocalSettings(); local.title.name = "Local TOC"; local.title.level = 2; local.title.center = true; const title = resolveTocTitle(local, { tocTitle: "Global TOC", tocTitleLevel: 1, tocTitleCentered: false }); expect(title).toEqual({ text: "Local TOC", level: 2, centered: true, usesGlobalCentering: false }); }); test("falls back to global settings when local values are null", () => { const local = getDefaultLocalSettings(); const title = resolveTocTitle(local, { tocTitle: "Global TOC", tocTitleLevel: 3, tocTitleCentered: true }); expect(title).toEqual({ text: "Global TOC", level: 3, centered: true, usesGlobalCentering: true }); }); test("preserves a local false centering override instead of falling back to global", () => { const local = getDefaultLocalSettings(); local.title.center = false; const title = resolveTocTitle(local, { tocTitle: "Global TOC", tocTitleLevel: 3, tocTitleCentered: true }); expect(title).toEqual({ text: "Global TOC", level: 3, centered: false, usesGlobalCentering: false }); }); test("returns null when title text is blank", () => { const local = getDefaultLocalSettings(); local.title.name = ""; const title = resolveTocTitle(local, { tocTitle: "Global TOC", tocTitleLevel: 1, tocTitleCentered: false }); expect(title).toBeNull(); }); });