note-facets.test.mjs
22 lines 961 B
Raw
sha256:700fafdd1afa490919f9515d660ca6e75456bcd5bb67513abcd8757a634c01f6 docs: record AIP-b SD-21 land (KN #308) Human 9 days ago
1 import test from 'node:test';
2 import assert from 'node:assert';
3 import { materializeListFrontmatter, parseFrontmatterJsonText } from '../hub/gateway/note-facets.mjs';
4
5 test('materializeListFrontmatter parses plain JSON object string', () => {
6 const fm = materializeListFrontmatter(JSON.stringify({ title: 'x', tags: 'a,b' }));
7 assert.equal(fm.title, 'x');
8 assert.equal(fm.tags, 'a,b');
9 });
10
11 test('materializeListFrontmatter unwraps double JSON-encoded string (hosted persistence quirk)', () => {
12 const inner = JSON.stringify({ title: 'Hub probe', tags: 'probe-tag', date: '2026-03-22' });
13 const doubleEncoded = JSON.stringify(inner);
14 const fm = materializeListFrontmatter(doubleEncoded);
15 assert.equal(fm.title, 'Hub probe');
16 assert.equal(fm.tags, 'probe-tag');
17 assert.equal(fm.date, '2026-03-22');
18 });
19
20 test('parseFrontmatterJsonText returns {} on invalid JSON', () => {
21 assert.deepStrictEqual(parseFrontmatterJsonText('not json'), {});
22 });
File History 1 commit
sha256:700fafdd1afa490919f9515d660ca6e75456bcd5bb67513abcd8757a634c01f6 docs: record AIP-b SD-21 land (KN #308) Human 9 days ago