mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
fast path for scrolling
This commit is contained in:
@@ -9,10 +9,10 @@ from textual.widget import Widget
|
||||
def test_arrange_empty():
|
||||
container = Widget(id="container")
|
||||
|
||||
placements, widgets, spacing = arrange(container, [], Size(80, 24), Size(80, 24))
|
||||
assert placements == []
|
||||
assert widgets == set()
|
||||
assert spacing == Spacing(0, 0, 0, 0)
|
||||
result = arrange(container, [], Size(80, 24), Size(80, 24))
|
||||
assert result.placements == []
|
||||
assert result.widgets == set()
|
||||
assert result.spacing == Spacing(0, 0, 0, 0)
|
||||
|
||||
|
||||
def test_arrange_dock_top():
|
||||
@@ -22,17 +22,16 @@ def test_arrange_dock_top():
|
||||
header.styles.dock = "top"
|
||||
header.styles.height = "1"
|
||||
|
||||
placements, widgets, spacing = arrange(
|
||||
container, [child, header], Size(80, 24), Size(80, 24)
|
||||
)
|
||||
assert placements == [
|
||||
result = arrange(container, [child, header], Size(80, 24), Size(80, 24))
|
||||
|
||||
assert result.placements == [
|
||||
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)
|
||||
assert result.widgets == {child, header}
|
||||
assert result.spacing == Spacing(1, 0, 0, 0)
|
||||
|
||||
|
||||
def test_arrange_dock_left():
|
||||
@@ -42,17 +41,15 @@ def test_arrange_dock_left():
|
||||
header.styles.dock = "left"
|
||||
header.styles.width = "10"
|
||||
|
||||
placements, widgets, spacing = arrange(
|
||||
container, [child, header], Size(80, 24), Size(80, 24)
|
||||
)
|
||||
assert placements == [
|
||||
result = arrange(container, [child, header], Size(80, 24), Size(80, 24))
|
||||
assert result.placements == [
|
||||
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)
|
||||
assert result.widgets == {child, header}
|
||||
assert result.spacing == Spacing(0, 0, 0, 10)
|
||||
|
||||
|
||||
def test_arrange_dock_right():
|
||||
@@ -62,17 +59,15 @@ def test_arrange_dock_right():
|
||||
header.styles.dock = "right"
|
||||
header.styles.width = "10"
|
||||
|
||||
placements, widgets, spacing = arrange(
|
||||
container, [child, header], Size(80, 24), Size(80, 24)
|
||||
)
|
||||
assert placements == [
|
||||
result = arrange(container, [child, header], Size(80, 24), Size(80, 24))
|
||||
assert result.placements == [
|
||||
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)
|
||||
assert result.widgets == {child, header}
|
||||
assert result.spacing == Spacing(0, 10, 0, 0)
|
||||
|
||||
|
||||
def test_arrange_dock_bottom():
|
||||
@@ -82,17 +77,15 @@ def test_arrange_dock_bottom():
|
||||
header.styles.dock = "bottom"
|
||||
header.styles.height = "1"
|
||||
|
||||
placements, widgets, spacing = arrange(
|
||||
container, [child, header], Size(80, 24), Size(80, 24)
|
||||
)
|
||||
assert placements == [
|
||||
result = arrange(container, [child, header], Size(80, 24), Size(80, 24))
|
||||
assert result.placements == [
|
||||
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)
|
||||
assert result.widgets == {child, header}
|
||||
assert result.spacing == Spacing(0, 0, 1, 0)
|
||||
|
||||
|
||||
def test_arrange_dock_badly():
|
||||
|
||||
Reference in New Issue
Block a user