import { describe, it, expect } from 'vitest' import { render, screen } from '@testing-library/react' import { SplitPane } from './SplitPane' describe('SplitPane', () => { it('renders list and detail content', () => { render( List items} detail={
Detail content
} /> ) expect(screen.getByText('List items')).toBeInTheDocument() expect(screen.getByText('Detail content')).toBeInTheDocument() }) it('shows default empty message when detail is null', () => { render( List items} detail={null} /> ) expect(screen.getByText('Select an item to view details')).toBeInTheDocument() }) it('shows custom empty message', () => { render( List items} detail={null} emptyMessage="Pick something" /> ) expect(screen.getByText('Pick something')).toBeInTheDocument() }) it('renders with different ratios (checks --split-columns CSS property)', () => { const { container, rerender } = render( List} detail={
Detail
} ratio="1:1" /> ) const root = container.firstChild as HTMLElement expect(root.style.getPropertyValue('--split-columns')).toBe('1fr 1fr') rerender( List} detail={
Detail
} ratio="2:3" /> ) expect(root.style.getPropertyValue('--split-columns')).toBe('2fr 3fr') }) it('accepts className', () => { const { container } = render( List} detail={
Detail
} className="custom-class" /> ) expect(container.firstChild).toHaveClass('custom-class') }) })