diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots.ambr b/tests/snapshot_tests/__snapshots__/test_snapshots.ambr index 93b0a7b46..bd32a07a3 100644 --- a/tests/snapshot_tests/__snapshots__/test_snapshots.ambr +++ b/tests/snapshot_tests/__snapshots__/test_snapshots.ambr @@ -9992,6 +9992,164 @@ ''' # --- +# name: test_datatable_column_cursor_render + ''' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + TableApp + + + + + + + + + +  lane  swimmer               country        time   +  4     Joseph Schooling      Singapore      50.39  +  2     Michael Phelps        United States  51.14  +  5     Chad le Clos          South Africa   51.14  +  6     László Cseh           Hungary        51.14  +  3     Li Zhuhao             China          51.26  +  8     Mehdy Metella         France         51.58  +  7     Tom Shields           United States  51.73  +  1     Aleksandr Sadovnikov  Russia         51.84  + + + + + + + + + + + + + + + + + + + + ''' +# --- # name: test_datatable_render ''' @@ -10149,6 +10307,163 @@ ''' # --- +# name: test_datatable_row_cursor_render + ''' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + TableApp + + + + + + + + + +  lane  swimmer               country        time   +  4     Joseph Schooling      Singapore      50.39  +  2     Michael Phelps        United States  51.14  +  5     Chad le Clos          South Africa   51.14  +  6     László Cseh           Hungary        51.14  +  3     Li Zhuhao             China          51.26  +  8     Mehdy Metella         France         51.58  +  7     Tom Shields           United States  51.73  +  1     Aleksandr Sadovnikov  Russia         51.84  + + + + + + + + + + + + + + + + + + + + ''' +# --- # name: test_demo ''' diff --git a/tests/snapshot_tests/snapshot_apps/data_table_column_cursor.py b/tests/snapshot_tests/snapshot_apps/data_table_column_cursor.py new file mode 100644 index 000000000..06d32707e --- /dev/null +++ b/tests/snapshot_tests/snapshot_apps/data_table_column_cursor.py @@ -0,0 +1,35 @@ +import csv +import io + +from textual.app import App, ComposeResult +from textual.widgets import DataTable + +CSV = """lane,swimmer,country,time +4,Joseph Schooling,Singapore,50.39 +2,Michael Phelps,United States,51.14 +5,Chad le Clos,South Africa,51.14 +6,László Cseh,Hungary,51.14 +3,Li Zhuhao,China,51.26 +8,Mehdy Metella,France,51.58 +7,Tom Shields,United States,51.73 +1,Aleksandr Sadovnikov,Russia,51.84""" + + +class TableApp(App): + def compose(self) -> ComposeResult: + table = DataTable() + table.focus() + table.cursor_type = "column" + table.fixed_columns = 1 + yield table + + def on_mount(self) -> None: + table = self.query_one(DataTable) + rows = csv.reader(io.StringIO(CSV)) + table.add_columns(*next(rows)) + table.add_rows(rows) + + +if __name__ == "__main__": + app = TableApp() + app.run() diff --git a/tests/snapshot_tests/snapshot_apps/data_table_row_cursor.py b/tests/snapshot_tests/snapshot_apps/data_table_row_cursor.py new file mode 100644 index 000000000..ba58d9afc --- /dev/null +++ b/tests/snapshot_tests/snapshot_apps/data_table_row_cursor.py @@ -0,0 +1,34 @@ +import csv +import io + +from textual.app import App, ComposeResult +from textual.widgets import DataTable + +CSV = """lane,swimmer,country,time +4,Joseph Schooling,Singapore,50.39 +2,Michael Phelps,United States,51.14 +5,Chad le Clos,South Africa,51.14 +6,László Cseh,Hungary,51.14 +3,Li Zhuhao,China,51.26 +8,Mehdy Metella,France,51.58 +7,Tom Shields,United States,51.73 +1,Aleksandr Sadovnikov,Russia,51.84""" + + +class TableApp(App): + def compose(self) -> ComposeResult: + table = DataTable() + table.focus() + table.cursor_type = "row" + yield table + + def on_mount(self) -> None: + table = self.query_one(DataTable) + rows = csv.reader(io.StringIO(CSV)) + table.add_columns(*next(rows)) + table.add_rows(rows) + + +if __name__ == "__main__": + app = TableApp() + app.run() diff --git a/tests/snapshot_tests/snapshot_apps/order_independence.py b/tests/snapshot_tests/snapshot_apps/layer_order_independence.py similarity index 100% rename from tests/snapshot_tests/snapshot_apps/order_independence.py rename to tests/snapshot_tests/snapshot_apps/layer_order_independence.py diff --git a/tests/snapshot_tests/test_snapshots.py b/tests/snapshot_tests/test_snapshots.py index 0410b9313..caf3adb76 100644 --- a/tests/snapshot_tests/test_snapshots.py +++ b/tests/snapshot_tests/test_snapshots.py @@ -93,6 +93,16 @@ def test_datatable_render(snap_compare): assert snap_compare(WIDGET_EXAMPLES_DIR / "data_table.py", press=press) +def test_datatable_row_cursor_render(snap_compare): + press = ["up", "left", "right", "down", "down", "_"] + assert snap_compare(SNAPSHOT_APPS_DIR / "data_table_row_cursor.py", press=press) + + +def test_datatable_column_cursor_render(snap_compare): + press = ["left", "up", "down", "right", "right", "_"] + assert snap_compare(SNAPSHOT_APPS_DIR / "data_table_column_cursor.py", press=press) + + def test_footer_render(snap_compare): assert snap_compare(WIDGET_EXAMPLES_DIR / "footer.py") @@ -147,11 +157,11 @@ def test_multiple_css(snap_compare): def test_order_independence(snap_compare): - assert snap_compare("snapshot_apps/order_independence.py") + assert snap_compare("snapshot_apps/layer_order_independence.py") def test_order_independence_toggle(snap_compare): - assert snap_compare("snapshot_apps/order_independence.py", press="t,_") + assert snap_compare("snapshot_apps/layer_order_independence.py", press="t,_") def test_columns_height(snap_compare):