prep 0.2.6
This commit is contained in:
@@ -13,6 +13,7 @@ if str(SRC_ROOT) not in sys.path:
|
||||
|
||||
|
||||
from ffx import screen_support # noqa: E402
|
||||
from ffx.i18n import set_current_language, t # noqa: E402
|
||||
|
||||
|
||||
class StaticConfig:
|
||||
@@ -38,7 +39,28 @@ class FakeTagTable:
|
||||
return row_key
|
||||
|
||||
|
||||
class FakeApp:
|
||||
def __init__(self, screen_stack):
|
||||
self.screen_stack = list(screen_stack)
|
||||
self.pop_called = False
|
||||
self.exit_called = False
|
||||
|
||||
def pop_screen(self):
|
||||
self.pop_called = True
|
||||
|
||||
def exit(self):
|
||||
self.exit_called = True
|
||||
|
||||
|
||||
class FakeScreen:
|
||||
def __init__(self, screen_stack):
|
||||
self.app = FakeApp(screen_stack)
|
||||
|
||||
|
||||
class ScreenSupportTests(unittest.TestCase):
|
||||
def tearDown(self):
|
||||
set_current_language("de")
|
||||
|
||||
def make_context(self):
|
||||
return {
|
||||
"config": StaticConfig(
|
||||
@@ -122,6 +144,30 @@ class ScreenSupportTests(unittest.TestCase):
|
||||
table.rows["row-1"],
|
||||
)
|
||||
|
||||
def test_go_back_or_exit_exits_from_first_pushed_screen(self):
|
||||
screen = FakeScreen(screen_stack=["base", "shows"])
|
||||
|
||||
screen_support.go_back_or_exit(screen)
|
||||
|
||||
self.assertFalse(screen.app.pop_called)
|
||||
self.assertTrue(screen.app.exit_called)
|
||||
|
||||
def test_go_back_or_exit_pops_nested_screen(self):
|
||||
screen = FakeScreen(screen_stack=["base", "shows", "details"])
|
||||
|
||||
screen_support.go_back_or_exit(screen)
|
||||
|
||||
self.assertTrue(screen.app.pop_called)
|
||||
self.assertFalse(screen.app.exit_called)
|
||||
|
||||
def test_localized_column_width_handles_combining_character_labels(self):
|
||||
set_current_language("ta")
|
||||
|
||||
translated = t("SubIndex")
|
||||
self.assertEqual("துணைச்சுட்டி", translated)
|
||||
self.assertGreater(len(translated), 8)
|
||||
self.assertEqual(len(translated) + 2, screen_support.localized_column_width(translated, 8))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user