cn.test.ts 740 B

123456789101112131415161718192021222324
  1. import { describe, it, expect } from 'vitest';
  2. import { cn } from './cn';
  3. describe('cn', () => {
  4. it('should merge class names correctly', () => {
  5. const result = cn('class1', 'class2');
  6. expect(result).toBe('class1 class2');
  7. });
  8. it('should handle conditional classes', () => {
  9. const result = cn('class1', false && 'class2', true && 'class3');
  10. expect(result).toBe('class1 class3');
  11. });
  12. it('should handle arrays and objects', () => {
  13. const result = cn(['class1', 'class2'], { class3: true, class4: false });
  14. expect(result).toBe('class1 class2 class3');
  15. });
  16. it('should merge Tailwind classes correctly', () => {
  17. const result = cn('px-2 py-1', 'px-4');
  18. expect(result).toBe('py-1 px-4');
  19. });
  20. });