import { __unstable__loadDesignSystem } from '@tailwindcss/node'
import { expect, test, vi } from 'vitest'
import * as versions from '../../utils/version'
import { migrateCanonicalizeCandidate } from './migrate-canonicalize-candidate'
vi.spyOn(versions, 'isMajor').mockReturnValue(true)
test.each([
['[display:flex]', '[display:flex]'],
['[display:_flex]', '[display:flex]'],
['[display:flex_]', '[display:flex]'],
['[display:_flex_]', '[display:flex]'],
['w-[calc(100%-2rem)]', 'w-[calc(100%-2rem)]'],
['w-[calc(100%_-_2rem)]', 'w-[calc(100%-2rem)]'],
['!flex', 'flex!'],
['flex!', 'flex!'],
])('%s => %s', async (candidate, result) => {
let designSystem = await __unstable__loadDesignSystem('@import "tailwindcss";', {
base: __dirname,
})
expect(migrateCanonicalizeCandidate(designSystem, {}, candidate)).toEqual(result)
})