import { render, screen } from '@testing-library/react'; import { describe, it, expect } from 'vitest'; import { Breadcrumb, BreadcrumbList, BreadcrumbItem, BreadcrumbLink, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis, } from './breadcrumb'; import React from 'react'; describe('Breadcrumb', () => { it('renders correctly with multiple items', () => { render( Home Docs Current Page ); expect(screen.getByRole('navigation', { name: /breadcrumb/i })).toBeInTheDocument(); expect(screen.getByText('Home')).toBeInTheDocument(); expect(screen.getByText('Docs')).toBeInTheDocument(); expect(screen.getByText('Current Page')).toBeInTheDocument(); expect(screen.getByText('Current Page')).toHaveAttribute('aria-current', 'page'); }); it('renders ellipsis correctly', () => { render( ); expect(screen.getByText('More')).toBeInTheDocument(); // sr-only text }); it('has correct data-slot attributes', () => { const { container } = render( Link ); expect(container.querySelector('[data-slot="breadcrumb"]')).toBeInTheDocument(); expect(container.querySelector('[data-slot="breadcrumb-list"]')).toBeInTheDocument(); expect(container.querySelector('[data-slot="breadcrumb-item"]')).toBeInTheDocument(); expect(container.querySelector('[data-slot="breadcrumb-link"]')).toBeInTheDocument(); }); });