Fix TUI widgets color bleedthru
This commit is contained in:
@@ -23,6 +23,21 @@ class StaticConfig:
|
||||
return self._data
|
||||
|
||||
|
||||
class FakeTagTable:
|
||||
def __init__(self):
|
||||
self.rows = {}
|
||||
self._next_index = 0
|
||||
|
||||
def clear(self):
|
||||
self.rows.clear()
|
||||
|
||||
def add_row(self, *values):
|
||||
row_key = f"row-{self._next_index}"
|
||||
self._next_index += 1
|
||||
self.rows[row_key] = tuple(values)
|
||||
return row_key
|
||||
|
||||
|
||||
class ScreenSupportTests(unittest.TestCase):
|
||||
def make_context(self):
|
||||
return {
|
||||
@@ -81,6 +96,32 @@ class ScreenSupportTests(unittest.TestCase):
|
||||
controllers,
|
||||
)
|
||||
|
||||
def test_populate_tag_table_keeps_raw_values_outside_display_labels(self):
|
||||
table = FakeTagTable()
|
||||
|
||||
row_data = screen_support.populate_tag_table(
|
||||
table,
|
||||
{"BPS": 4835, "KEEP": "plain"},
|
||||
ignore_keys=["KEEP"],
|
||||
remove_keys=["BPS"],
|
||||
)
|
||||
|
||||
self.assertEqual(
|
||||
{
|
||||
"row-0": ("BPS", "4835"),
|
||||
"row-1": ("KEEP", "plain"),
|
||||
},
|
||||
row_data,
|
||||
)
|
||||
self.assertEqual(
|
||||
("[red]BPS[/red]", "[red]4835[/red]"),
|
||||
table.rows["row-0"],
|
||||
)
|
||||
self.assertEqual(
|
||||
("[blue]KEEP[/blue]", "[blue]plain[/blue]"),
|
||||
table.rows["row-1"],
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user