order tests fix

This commit is contained in:
Will McGugan
2022-09-09 18:18:06 +01:00
parent 593dc4db78
commit 1d058db359
2 changed files with 6 additions and 5 deletions

View File

@@ -461,6 +461,7 @@ class Compositor:
@property
def layers(self) -> list[tuple[Widget, MapGeometry]]:
"""Get widgets and geometry in layer order."""
if self._layers is None:
self._layers = sorted(
self.map.items(), key=lambda item: item[1].order, reverse=True
@@ -476,7 +477,7 @@ class Compositor:
"""
layers = self.layers
intersection = Region.intersection
for widget, (region, _order, clip, virtual_size, container_size, *_) in layers:
for widget, (region, _order, clip, virtual_size, container_size, _) in layers:
yield (
widget,
intersection(region, clip),

View File

@@ -24,10 +24,10 @@ def test_arrange_dock_top():
container, [child, header], Size(80, 24), Size(80, 24)
)
assert placements == [
WidgetPlacement(Region(0, 1, 80, 23), Spacing(), child, order=0, fixed=False),
WidgetPlacement(
Region(0, 0, 80, 1), Spacing(), header, order=TOP_Z, fixed=True
),
WidgetPlacement(Region(0, 1, 80, 23), Spacing(), child, order=0, fixed=False),
]
assert widgets == {child, header}
assert spacing == Spacing(1, 0, 0, 0)
@@ -44,10 +44,10 @@ def test_arrange_dock_left():
container, [child, header], Size(80, 24), Size(80, 24)
)
assert placements == [
WidgetPlacement(Region(10, 0, 70, 24), Spacing(), child, order=0, fixed=False),
WidgetPlacement(
Region(0, 0, 10, 24), Spacing(), header, order=TOP_Z, fixed=True
),
WidgetPlacement(Region(10, 0, 70, 24), Spacing(), child, order=0, fixed=False),
]
assert widgets == {child, header}
assert spacing == Spacing(0, 0, 0, 10)
@@ -64,10 +64,10 @@ def test_arrange_dock_right():
container, [child, header], Size(80, 24), Size(80, 24)
)
assert placements == [
WidgetPlacement(Region(0, 0, 70, 24), Spacing(), child, order=0, fixed=False),
WidgetPlacement(
Region(70, 0, 10, 24), Spacing(), header, order=TOP_Z, fixed=True
),
WidgetPlacement(Region(0, 0, 70, 24), Spacing(), child, order=0, fixed=False),
]
assert widgets == {child, header}
assert spacing == Spacing(0, 10, 0, 0)
@@ -84,10 +84,10 @@ def test_arrange_dock_bottom():
container, [child, header], Size(80, 24), Size(80, 24)
)
assert placements == [
WidgetPlacement(Region(0, 0, 80, 23), Spacing(), child, order=0, fixed=False),
WidgetPlacement(
Region(0, 23, 80, 1), Spacing(), header, order=TOP_Z, fixed=True
),
WidgetPlacement(Region(0, 0, 80, 23), Spacing(), child, order=0, fixed=False),
]
assert widgets == {child, header}
assert spacing == Spacing(0, 0, 1, 0)