mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
tests for resolve
This commit is contained in:
@@ -71,32 +71,3 @@ def resolve(
|
||||
]
|
||||
|
||||
return results
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
dimensions = [Scalar.parse("3"), Scalar.parse("1fr"), Scalar.parse("1")]
|
||||
|
||||
print(resolve(dimensions, 20, 1, Size(40, 20), Size(40, 20)))
|
||||
|
||||
print(
|
||||
resolve(
|
||||
[Scalar.parse("1fr"), Scalar.parse("1fr")],
|
||||
20,
|
||||
1,
|
||||
Size(40, 20),
|
||||
Size(40, 20),
|
||||
)
|
||||
)
|
||||
|
||||
print(
|
||||
resolve(
|
||||
[
|
||||
Scalar.parse("1fr"),
|
||||
],
|
||||
20,
|
||||
1,
|
||||
Size(40, 20),
|
||||
Size(40, 20),
|
||||
)
|
||||
)
|
||||
|
||||
58
tests/test_resolve.py
Normal file
58
tests/test_resolve.py
Normal file
@@ -0,0 +1,58 @@
|
||||
import pytest
|
||||
|
||||
from textual.geometry import Size
|
||||
from textual.css.scalar import Scalar
|
||||
from textual._resolve import resolve
|
||||
|
||||
|
||||
def test_resolve_empty():
|
||||
assert resolve([], 10, 1, Size(20, 10), Size(80, 24)) == []
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"scalars,total,gutter,result",
|
||||
[
|
||||
(["10"], 100, 0, [(0, 10)]),
|
||||
(
|
||||
["10", "20"],
|
||||
100,
|
||||
0,
|
||||
[(0, 10), (10, 20)],
|
||||
),
|
||||
(
|
||||
["10", "20"],
|
||||
100,
|
||||
1,
|
||||
[(0, 10), (11, 20)],
|
||||
),
|
||||
(
|
||||
["10", "1fr"],
|
||||
100,
|
||||
1,
|
||||
[(0, 10), (11, 89)],
|
||||
),
|
||||
(
|
||||
["1fr", "1fr"],
|
||||
100,
|
||||
0,
|
||||
[(0, 50), (50, 50)],
|
||||
),
|
||||
(
|
||||
["3", "1fr", "1fr", "1"],
|
||||
100,
|
||||
1,
|
||||
[(0, 3), (4, 46), (51, 47), (99, 1)],
|
||||
),
|
||||
],
|
||||
)
|
||||
def test_resolve(scalars, total, gutter, result):
|
||||
assert (
|
||||
resolve(
|
||||
[Scalar.parse(scalar) for scalar in scalars],
|
||||
total,
|
||||
gutter,
|
||||
Size(40, 20),
|
||||
Size(80, 24),
|
||||
)
|
||||
== result
|
||||
)
|
||||
Reference in New Issue
Block a user