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();
});
});