28 lines
1.2 KiB
Python
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())
|