note-facets.test.mjs
sha256:8915fe406161f95c1681f9469375e7bae5b28c884f00bedbdef65e4b0cd0738d
docs(flow): commit FLOW-V0-SPEC.md hygiene for 7A-INT merge
Human
18 hours 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:8915fe406161f95c1681f9469375e7bae5b28c884f00bedbdef65e4b0cd0738d
docs(flow): commit FLOW-V0-SPEC.md hygiene for 7A-INT merge
Human
18 hours ago