ST-cmowjewfg: Test: parser geeft hint bij markdown-in-frontmatter
Voeg twee Vitest-cases toe: - hints when markdown sneaks into frontmatter: fixture met [unclosed op een genummerde markdown-regel triggert YAMLParseError op die regel (plain lijst zonder unclosed flow parset als geldig YAML) - omits hint for non-markdown yaml errors: unclosed bracket zonder markdown-patroon geeft geen hint
This commit is contained in:
parent
0ce9342039
commit
fc8404afd5
1 changed files with 35 additions and 0 deletions
|
|
@ -62,6 +62,41 @@ body
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('hints when markdown sneaks into frontmatter', () => {
|
||||||
|
// "1. **...**: [unclosed" triggers a YAMLParseError at the markdown line
|
||||||
|
// (plain-list-with-bold parses as valid YAML without an unclosed flow)
|
||||||
|
const broken = `---
|
||||||
|
pbi:
|
||||||
|
title: Test
|
||||||
|
priority: 2
|
||||||
|
stories:
|
||||||
|
1. **Toggle zichtbaar in productie**: [unclosed
|
||||||
|
---
|
||||||
|
|
||||||
|
body
|
||||||
|
`
|
||||||
|
const r = parsePlanMd(broken)
|
||||||
|
expect(r.ok).toBe(false)
|
||||||
|
if (!r.ok) {
|
||||||
|
expect(r.errors[0].hint).toMatch(/markdown/i)
|
||||||
|
expect(r.errors[0].line).toBeGreaterThan(1)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
it('omits hint for non-markdown yaml errors', () => {
|
||||||
|
const broken = `---
|
||||||
|
pbi:
|
||||||
|
title: Test
|
||||||
|
priority: [unclosed
|
||||||
|
stories:
|
||||||
|
- foo
|
||||||
|
---
|
||||||
|
`
|
||||||
|
const r = parsePlanMd(broken)
|
||||||
|
expect(r.ok).toBe(false)
|
||||||
|
if (!r.ok) expect(r.errors[0].hint).toBeUndefined()
|
||||||
|
})
|
||||||
|
|
||||||
it('reports schema-validation error when pbi-section missing', () => {
|
it('reports schema-validation error when pbi-section missing', () => {
|
||||||
const noPbi = `---
|
const noPbi = `---
|
||||||
stories:
|
stories:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue