Set up the TUI IDE wrapper for Claude Code CLI with: - Core app structure using Textual framework - Panel architecture (sidebar, workspace, claude, context) - Theme system with 22 built-in themes (Summer Night default) - Pydantic models for configuration and data - Makefile for development commands - Project documentation and specs Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
38 lines
926 B
Python
38 lines
926 B
Python
"""Snapshot tests for Clide UI."""
|
|
|
|
from clide.app import ClideApp
|
|
|
|
|
|
def test_initial_layout(snap_compare) -> None:
|
|
"""Test the initial application layout renders correctly."""
|
|
app = ClideApp(test_mode=True)
|
|
assert snap_compare(app, terminal_size=(120, 40))
|
|
|
|
|
|
def test_layout_without_right_panel(snap_compare) -> None:
|
|
"""Test layout with right panel hidden."""
|
|
|
|
async def hide_right_panel(pilot):
|
|
await pilot.press("f2")
|
|
|
|
app = ClideApp(test_mode=True)
|
|
assert snap_compare(
|
|
app,
|
|
terminal_size=(120, 40),
|
|
run_before=hide_right_panel,
|
|
)
|
|
|
|
|
|
def test_layout_without_left_panel(snap_compare) -> None:
|
|
"""Test layout with left panel hidden."""
|
|
|
|
async def hide_left_panel(pilot):
|
|
await pilot.press("f1")
|
|
|
|
app = ClideApp(test_mode=True)
|
|
assert snap_compare(
|
|
app,
|
|
terminal_size=(120, 40),
|
|
run_before=hide_left_panel,
|
|
)
|