import { describe, expect, it } from 'vitest' import { cn } from './cn' describe('cn', () => { it('merges class names', () => { expect(cn('foo', 'bar')).toBe('foo bar') }) it('handles conditional classes with false', () => { expect(cn('foo', false, 'baz')).toBe('foo baz') }) it('handles conditional classes with string', () => { expect(cn('foo', 'bar', 'baz')).toBe('foo bar baz') }) it('handles undefined and null', () => { expect(cn('foo', undefined, null, 'bar')).toBe('foo bar') }) it('merges conflicting Tailwind classes', () => { expect(cn('px-2 py-1', 'px-4')).toBe('py-1 px-4') expect(cn('text-red-500', 'text-blue-500')).toBe('text-blue-500') }) it('handles arrays', () => { expect(cn(['foo', 'bar'], 'baz')).toBe('foo bar baz') }) it('handles objects', () => { expect(cn({ foo: true, bar: false, baz: true })).toBe('foo baz') }) })