|
|
|
|
@ -558,6 +558,23 @@ describe('ActiveEidos config', () => {
|
|
|
|
|
expect(report.issues.some((issue) => issue.path === 'recipes.tooltip.empty-token')).toBe(true)
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
it('rejects config CSS values that contain declaration delimiters', () => {
|
|
|
|
|
const cfg = structuredClone(THEME_BASE_OPTIONS)
|
|
|
|
|
|
|
|
|
|
;(cfg.recipes!.tooltip as Record<string, string>)['content-bg'] =
|
|
|
|
|
'red; color: transparent'
|
|
|
|
|
;(cfg.themes!['base-light'].color!.surface as unknown as Record<string, string>).default =
|
|
|
|
|
'Canvas { color: red }'
|
|
|
|
|
|
|
|
|
|
const report = createEidos(cfg).validate()
|
|
|
|
|
|
|
|
|
|
expect(report.ok).toBe(false)
|
|
|
|
|
expect(report.issues.some((issue) => issue.path === 'recipes.tooltip.content-bg')).toBe(true)
|
|
|
|
|
expect(
|
|
|
|
|
report.issues.some((issue) => issue.path === 'themes.base-light.color.surface.default')
|
|
|
|
|
).toBe(true)
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
it('validates role mappings against every configured theme', () => {
|
|
|
|
|
const cfg: EidosConfig = {
|
|
|
|
|
...THEME_BASE_OPTIONS,
|
|
|
|
|
|