/* @vitest-environment jsdom */ import { render, screen } from '@testing-library/react'; import { expect, test } from 'vitest'; import { PlatformEmptyState } from './PlatformEmptyState'; test('renders compact soft platform empty state', () => { render(暂无作品); const emptyState = screen.getByText('暂无作品'); expect(emptyState.className).toContain('platform-empty-state'); expect(emptyState.className).toContain('platform-surface--soft'); expect(emptyState.className).toContain('rounded-[1.35rem]'); expect(emptyState.className).toContain('px-4'); }); test('supports dashed panel empty state for picker dialogs', () => { render( 读取中... , ); const emptyState = screen.getByText('读取中...'); expect(emptyState.className).toContain('border-dashed'); expect(emptyState.className).toContain('min-h-[14rem]'); expect(emptyState.className).toContain('mt-2'); }); test('supports inline subpanel empty state for runtime panels', () => { render( 暂无历史 , ); const emptyState = screen.getByText('暂无历史'); expect(emptyState.className).toContain('rounded-[1rem]'); expect(emptyState.className).toContain('bg-white/74'); expect(emptyState.className).toContain('py-5'); expect(emptyState.className).toContain('text-[var(--platform-text-soft)]'); }); test('allows explicit tone override', () => { render( 暂无属性 , ); const emptyState = screen.getByText('暂无属性'); expect(emptyState.className).toContain('text-[var(--platform-text-base)]'); }); test('supports dark editor dashed empty state', () => { render( 还没有配置角色技能。 , ); const emptyState = screen.getByText('还没有配置角色技能。'); expect(emptyState.className).toContain('border-dashed'); expect(emptyState.className).toContain('border-white/12'); expect(emptyState.className).toContain('bg-black/20'); expect(emptyState.className).toContain('text-[var(--platform-text-soft)]'); });