Co-authored-by: Cyprien <courtot.c@gmail.com>
Co-authored-by: Guillaume LE GOFF <guillaume.lgf@gmail.com>
Co-authored-by: Laure Hugo <201583486+laure0303@users.noreply.github.com>
Co-authored-by: Paul VEZIA <166131032+le-codeur-rapide@users.noreply.github.com>
Co-authored-by: Peter Evers <peter.evers@mistral.ai>
Co-authored-by: Pierre Rossinès <pierre.rossines@mistral.ai>
Co-authored-by: Yousria <yousria.debaud@mistral.ai>
Co-authored-by: renovate-mistral[bot] <253709520+renovate-mistral[bot]@users.noreply.github.com>
Co-authored-by: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
Mathias Gesbert 2026-06-29 17:35:54 +02:00 committed by GitHub
parent ed5b7192e6
commit d50704e694
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
110 changed files with 1663 additions and 764 deletions

View file

@ -91,3 +91,28 @@ async def test_theme_picker_select_persists_and_applies() -> None:
assert len(app.query(ThemePickerApp)) == 0
assert app.config.theme == target
assert app.theme == target
@pytest.mark.asyncio
async def test_theme_picker_jk_moves_cursor() -> None:
from textual.widgets import OptionList
config = build_test_vibe_config()
config.theme = "ansi-dark"
app = build_test_vibe_app(config=config)
async with app.run_test() as pilot:
await pilot.pause(0.1)
await app._show_theme()
await pilot.pause(0.2)
option_list = app.query_one(ThemePickerApp).query_one(OptionList)
start = option_list.highlighted
assert start is not None
await pilot.press("j")
await pilot.pause(0.1)
assert option_list.highlighted == (start + 1) % option_list.option_count
await pilot.press("k")
await pilot.pause(0.1)
assert option_list.highlighted == start