mirror of
https://github.com/amitwh/markdown-converter.git
synced 2026-10-01 17:29:29 +05:30
chore(release): bump v4.7.1 → v4.8.0; Prettier pass on overnight-session files
12 commits on master since v4.7.1 baseline, taking tests 524 → 914 across 27 new suites. This commit: - Bumps package.json + README version to v4.8.0 (additive features → semver minor) - Applies Prettier formatting to all files touched during the overnight session so release build is reproducible from a clean repo New in v4.8.0: - PDF encryption close-out (D1) - KaTeX rendering test coverage - Autosave buffer + crash recovery banner - Daily notes + workspace search + doc-aware Q&A - Search sidebar panel + Ask mode - Status bar: word count, reading time, Flesch-Kincaid grade - Footnote hover preview - Smart paste (URL → link, CSV/TSV → table) - Daily notes menu item + sidebar panel + Q&A deep-link - Daily templates gallery - Pluggable DocQA engine (TF-idF default + lazy neural embeddings) Amit Haridas
This commit is contained in:
@@ -9,7 +9,9 @@ function mountPanel(deps = {}) {
|
||||
const container = document.createElement('div');
|
||||
document.body.appendChild(container);
|
||||
const api = renderDailyNotesPanel(container, {
|
||||
openToday: deps.openToday || jest.fn().mockResolvedValue({ path: '/notes/2026-09-14.md', created: true }),
|
||||
openToday:
|
||||
deps.openToday ||
|
||||
jest.fn().mockResolvedValue({ path: '/notes/2026-09-14.md', created: true }),
|
||||
listExisting: deps.listExisting || jest.fn().mockResolvedValue([]),
|
||||
onOpenFile: deps.onOpenFile || jest.fn(),
|
||||
...deps,
|
||||
@@ -39,11 +41,13 @@ describe('renderDailyNotesPanel — mounting', () => {
|
||||
|
||||
test('renders one row per filename', async () => {
|
||||
const { container } = mountPanel({
|
||||
listExisting: jest.fn().mockResolvedValue([
|
||||
'/notes/daily/2026-09-14.md',
|
||||
'/notes/daily/2026-09-13.md',
|
||||
'/notes/daily/2026-09-10.md',
|
||||
]),
|
||||
listExisting: jest
|
||||
.fn()
|
||||
.mockResolvedValue([
|
||||
'/notes/daily/2026-09-14.md',
|
||||
'/notes/daily/2026-09-13.md',
|
||||
'/notes/daily/2026-09-10.md',
|
||||
]),
|
||||
});
|
||||
await flush();
|
||||
const items = container.querySelectorAll('.daily-notes-item');
|
||||
@@ -107,14 +111,13 @@ describe('renderDailyNotesPanel — Today button', () => {
|
||||
});
|
||||
|
||||
describe('renderDailyNotesPanel — click an existing entry', () => {
|
||||
test('clicking a row calls onOpenFile with that row\'s path', async () => {
|
||||
test("clicking a row calls onOpenFile with that row's path", async () => {
|
||||
const onOpenFile = jest.fn();
|
||||
const { container } = mountPanel({
|
||||
onOpenFile,
|
||||
listExisting: jest.fn().mockResolvedValue([
|
||||
'/notes/daily/2026-09-14.md',
|
||||
'/notes/daily/2026-09-10.md',
|
||||
]),
|
||||
listExisting: jest
|
||||
.fn()
|
||||
.mockResolvedValue(['/notes/daily/2026-09-14.md', '/notes/daily/2026-09-10.md']),
|
||||
});
|
||||
await flush();
|
||||
const items = container.querySelectorAll('.daily-notes-item');
|
||||
@@ -139,7 +142,10 @@ describe('renderDailyNotesPanel — click an existing entry', () => {
|
||||
|
||||
describe('renderDailyNotesPanel — refresh', () => {
|
||||
test('refresh button re-fetches the list', async () => {
|
||||
const listExisting = jest.fn().mockResolvedValueOnce([]).mockResolvedValueOnce(['2026-09-14.md']);
|
||||
const listExisting = jest
|
||||
.fn()
|
||||
.mockResolvedValueOnce([])
|
||||
.mockResolvedValueOnce(['2026-09-14.md']);
|
||||
const { container, api } = mountPanel({ listExisting });
|
||||
await flush();
|
||||
expect(container.querySelectorAll('.daily-notes-item')).toHaveLength(0);
|
||||
@@ -172,4 +178,4 @@ describe('renderDailyNotesPanel — graceful degradation', () => {
|
||||
await flush();
|
||||
expect(container.querySelectorAll('.daily-notes-item')).toHaveLength(1);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user