Files
TactiTerm/scratch/test_command_palette.py
T

28 lines
1.2 KiB
Python

import asyncio
from src.tui.app import TactiTermTUI
async def test_command_palette_integration():
app = TactiTermTUI()
async with app.run_test() as pilot:
print("Available themes count registered with Textual App:", len(app.available_themes))
sample_themes = list(app.available_themes.keys())[:15]
print("Sample registered themes in App:", sample_themes)
# Test system commands
commands = list(app.get_system_commands(app.screen))
cmd_titles = [c.title for c in commands]
print("System commands in Command Palette:", cmd_titles)
assert "Keys" in cmd_titles, "Keys option missing from Command Palette"
assert "Themes" in cmd_titles, "Themes option missing from Command Palette"
# Test applying a theme from registered themes
app.apply_theme("dracula")
await pilot.pause(0.1)
print("Main box classes after applying Dracula:", app.query_one("#main-container").classes)
assert app.query_one("#main-container").has_class("theme-dracula")
print("Command Palette Theme Integration test PASSED!")
if __name__ == "__main__":
asyncio.run(test_command_palette_integration())