// @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"]') }) })