fix: track column-only labels separately for grid
otherwise `set_label(.., column_only=True)` would not "remember" that the caller requested column only, e.g. when extra filters are added after the fact
This commit is contained in:
parent
c4f735fda8
commit
97e5a96cd6
3 changed files with 87 additions and 21 deletions
|
|
@ -198,17 +198,48 @@ class TestGrid(WebTestCase):
|
|||
# can replace label
|
||||
grid.set_label("name", "Different")
|
||||
self.assertEqual(grid.labels["name"], "Different")
|
||||
self.assertEqual(grid.get_label("name"), "Different")
|
||||
self.assertEqual(grid.get_filter_label("name"), "Different")
|
||||
self.assertEqual(grid.get_column_label("name"), "Different")
|
||||
|
||||
# can update only column, not filter
|
||||
self.assertEqual(grid.labels, {"name": "Different"})
|
||||
self.assertEqual(grid.column_labels, {})
|
||||
self.assertIn("name", grid.filters)
|
||||
self.assertEqual(grid.filters["name"].label, "Different")
|
||||
grid.set_label("name", "COLUMN ONLY", column_only=True)
|
||||
self.assertEqual(grid.get_label("name"), "COLUMN ONLY")
|
||||
self.assertEqual(grid.filters["name"].label, "Different")
|
||||
self.assertEqual(grid.get_column_label("name"), "COLUMN ONLY")
|
||||
self.assertEqual(grid.get_filter_label("name"), "Different")
|
||||
|
||||
def test_get_filter_label(self):
|
||||
grid = self.make_grid(columns=["foo", "bar"])
|
||||
self.assertEqual(grid.labels, {})
|
||||
|
||||
# default derived from key
|
||||
self.assertEqual(grid.get_filter_label("foo"), "Foo")
|
||||
|
||||
# can override
|
||||
grid.set_label("foo", "Different")
|
||||
self.assertEqual(grid.get_filter_label("foo"), "Different")
|
||||
|
||||
def test_get_column_label(self):
|
||||
grid = self.make_grid(columns=["foo", "bar"])
|
||||
self.assertEqual(grid.labels, {})
|
||||
|
||||
# default derived from key
|
||||
self.assertEqual(grid.get_column_label("foo"), "Foo")
|
||||
|
||||
# can override "globally"
|
||||
grid.set_label("foo", "Different")
|
||||
self.assertEqual(grid.get_column_label("foo"), "Different")
|
||||
|
||||
# can override for "just column"
|
||||
grid.set_label("foo", "Col Lbl", column_only=True)
|
||||
self.assertEqual(grid.get_column_label("foo"), "Col Lbl")
|
||||
|
||||
def test_get_label(self):
|
||||
# nb. the get_label() method is deprecated; can remove this
|
||||
# test eventually
|
||||
|
||||
grid = self.make_grid(columns=["foo", "bar"])
|
||||
self.assertEqual(grid.labels, {})
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue