From 73b466fbc054e80b50e318b49643aee8a03c784b Mon Sep 17 00:00:00 2001 From: historia Date: Mon, 24 Aug 2026 03:41:57 -0400 Subject: feat: settings for ports in TUI --- app/tests/test_tui.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'app/tests/test_tui.py') diff --git a/app/tests/test_tui.py b/app/tests/test_tui.py index c87374f..5862a54 100644 --- a/app/tests/test_tui.py +++ b/app/tests/test_tui.py @@ -408,6 +408,31 @@ class FormTests(TuiTestCase): back_value=marker) self.assertIs(result, marker) + def test_down_on_last_field_moves_to_save(self): + # Down moves cursor to the last field, Down again steps onto the + # Save button, Enter saves. + screen = FakeScreen(keys=[FakeCurses.KEY_DOWN, FakeCurses.KEY_DOWN, + 10]) + result = tui.form(screen, "Settings", self._fields()) + self.assertEqual(result, {"fmt": "m4b", "chunk": "250"}) + + def test_up_on_first_field_moves_to_cancel(self): + marker = object() + # Up from the first field steps onto the Cancel button, Enter. + screen = FakeScreen(keys=[FakeCurses.KEY_UP, 10]) + result = tui.form(screen, "Settings", self._fields(), + back_value=marker) + self.assertIs(result, marker) + + def test_up_down_on_buttons_returns_to_fields(self): + # Down (last field -> Save), Up returns to the last field, Enter + # opens its text editor, then Tab -> Save, Enter. + screen = FakeScreen(keys=[FakeCurses.KEY_DOWN, FakeCurses.KEY_DOWN, + FakeCurses.KEY_UP, 10, ord("x"), 10, + 9, 10]) + result = tui.form(screen, "Settings", self._fields()) + self.assertEqual(result, {"fmt": "m4b", "chunk": "250x"}) + def test_esc_returns_back_value(self): marker = object() screen = FakeScreen(keys=[27]) -- cgit v1.2.3