import assert from "node:assert/strict"; import test from "node:test"; import * as React from "react"; import { renderToStaticMarkup } from "react-dom/server"; import { Badge } from "@ccr/ui/components/ui/badge.tsx"; import { Button } from "@ccr/ui/components/ui/button.tsx"; import { Card, CardContent, CardHeader, CardTitle } from "@ccr/ui/components/ui/card.tsx"; import { Checkbox } from "@ccr/ui/components/ui/checkbox.tsx"; import { Input } from "@ccr/ui/components/ui/input.tsx"; import { Label } from "@ccr/ui/components/ui/label.tsx"; import { PopoverPortal } from "@ccr/ui/components/ui/popover.tsx"; import { Select } from "@ccr/ui/components/ui/select.tsx"; import { Switch } from "@ccr/ui/components/ui/switch.tsx"; import { Tabs, TabsList, TabsTrigger } from "@ccr/ui/components/ui/tabs.tsx"; import { Textarea } from "@ccr/ui/components/ui/textarea.tsx"; import { Tooltip, TooltipPortal } from "@ccr/ui/components/ui/tooltip.tsx"; import { collapseSidebarToExpandInspectorMorph, playPauseMorph } from "@ccr/ui/lib/morph-icon.ts"; test("Button renders default button semantics and variant classes", () => { const html = renderToStaticMarkup( ); assert.match(html, /^ ); assert.match(html, /class="plain-button"/); assert.match(html, /type="button"/); assert.doesNotMatch(html, /inline-flex/); }); test("Select marks the control and native options for theme-aware rendering", () => { const html = renderToStaticMarkup( ); const labelHtml = renderToStaticMarkup( ); const textareaHtml = renderToStaticMarkup(