Files
lucide/packages/shared/tests/utils.spec.tsx
Eric Fennis a1641a372b fix(shared): Add trim to mergeClasses (#2522)
* Add trim to merge classes

* Add trim to merge classes

* Adds extra utils check

* Update packages/shared/src/utils.ts

Co-authored-by: Max Malm <benjick@dumfan.net>

---------

Co-authored-by: Max Malm <benjick@dumfan.net>
2024-10-28 13:53:42 +01:00

30 lines
1.1 KiB
TypeScript

import { describe, it, expect } from 'vitest';
import { mergeClasses } from '../src/utils';
describe('mergeClasses', () => {
it('merges classes', async () => {
const classes = mergeClasses('lucide', 'lucide-circle', 'custom-class');
expect(classes).toBe('lucide lucide-circle custom-class');
});
it('ignores empty string', async () => {
const classes = mergeClasses('lucide', 'lucide-circle', '');
expect(classes).toBe('lucide lucide-circle');
});
it('ignores undefined', async () => {
const classes = mergeClasses('lucide', 'lucide-circle', undefined);
expect(classes).toBe('lucide lucide-circle');
});
it('removes duplicates', async () => {
const classes = mergeClasses('lucide', 'lucide-circle', 'lucide');
expect(classes).toBe('lucide lucide-circle');
});
it('trims the string', async () => {
const classes = mergeClasses('lucide', 'lucide-circle', ' ');
expect(classes).toBe('lucide lucide-circle');
});
it('trims the sub strings', async () => {
const classes = mergeClasses('lucide', ' ', 'lucide-circle');
expect(classes).toBe('lucide lucide-circle');
});
});