import type { TransformedToken } from 'style-dictionary/types' import { describe, expect, it } from 'vitest' import { filter, transform } from './tailwind-typography-token.js' describe('tailwind typography token transform', () => { const createMockToken = ( path: string[], type = 'typography', ): TransformedToken => ({ name: 'test-token', value: '400 1rem/1.5 Inter', $type: type, path, original: {}, filePath: '', isSource: false, }) as TransformedToken describe('filter', () => { it('should return true for tokens with $type typography', () => { const token = createMockToken(['typography', 'h1', 'default']) const result = filter(token) expect(result).toBe(true) }) it('should return false for tokens without $type typography', () => { const token = createMockToken(['color', 'primary', 'default'], 'color') const result = filter(token) expect(result).toBe(false) }) }) describe('transform', () => { it('should reorder the path elements correctly', () => { const token = createMockToken(['typography', 'h1', 'sm']) const result = transform(token, {}, {}) expect(result).toBe('typography-sm-h1') }) it('should handle "default" breakpoint correctly', () => { const token = createMockToken(['typography', 'h1', 'default']) const result = transform(token, {}, {}) expect(result).toBe('typography-default-h1') }) it('should prepend prefix when config.prefix is set', () => { const token = createMockToken(['typography', 'h1', 'sm']) const result = transform(token, { prefix: 'uy' }, {}) expect(result).toBe('uy-typography-sm-h1') }) }) })