import { describe, it, expect } from 'vitest'; import { render } from '@testing-library/react'; import { airVent } from './testIconNodes'; import { Icon } from '../src/lucide-react'; describe('Using Icon Component', () => { it('should render icon based on a iconNode', async () => { const { container } = render( , ); expect(container.firstChild).toBeDefined(); }); it('should render icon and match snapshot', async () => { const { container } = render( , ); expect(container.firstChild).toMatchSnapshot(); }); }); describe('Icon Component Accessibility', () => { it('should not have aria-hidden prop when aria prop is present', async () => { const { container } = render( , ); expect(container.firstChild).not.toHaveAttribute('aria-hidden'); }); it('should not have aria-hidden prop when title prop is present', async () => { const { container } = render( , ); expect(container.firstChild).not.toHaveAttribute('aria-hidden'); }); it('should not have aria-hidden prop when there are children that could be a element', async () => { const { container } = render( <Icon iconNode={airVent} size={48} stroke="red" absoluteStrokeWidth > <title>Some title , ); expect(container.firstChild).not.toHaveAttribute('aria-hidden'); }); it('should never override aria-hidden prop', async () => { const { container } = render( , ); expect(container.firstChild).toHaveAttribute('aria-hidden', 'false'); }); });