29 خطوط
886 B
TypeScript
29 خطوط
886 B
TypeScript
// @vitest-environment node
|
|
import { readFileSync } from 'node:fs'
|
|
import { resolve } from 'node:path'
|
|
import { describe, expect, it } from 'vitest'
|
|
|
|
describe('design token contract', () => {
|
|
it('defines semantic scales without removing compatibility aliases', () => {
|
|
const tokens = readFileSync(resolve(process.cwd(), 'src/styles/tokens.css'), 'utf8')
|
|
const requiredTokens = [
|
|
'--surface-elevated',
|
|
'--surface-interactive',
|
|
'--text-subtle',
|
|
'--radius-lg: 16px',
|
|
'--radius-xl: 20px',
|
|
'--space-5: 20px',
|
|
'--space-7: 32px',
|
|
'--font-size-page',
|
|
'--font-size-body',
|
|
'--z-popover',
|
|
'--z-tooltip',
|
|
'--ease-standard',
|
|
]
|
|
|
|
requiredTokens.forEach(token => expect(tokens).toContain(token))
|
|
expect(tokens).toContain('--radius-legacy-lg')
|
|
expect(tokens).toContain(':root[data-theme="dark"]')
|
|
})
|
|
})
|