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, /^Run<\/button>$/);
});
test("Button unstyled mode keeps caller supplied styling only", () => {
const html = renderToStaticMarkup(
);
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(
);
assert.match(html, /theme-aware-select/);
assert.equal((html.match(/theme-aware-select-option/g) ?? []).length, 2);
});
test("Badge renders the selected visual variant", () => {
const html = renderToStaticMarkup(