Skip to content

Commit

Permalink
Merge pull request #2656 from davep/private-validate-and-compute
Browse files Browse the repository at this point in the history
Add (currently xfailing) tests for private reactive validation and compute methods
  • Loading branch information
davep authored May 25, 2023
2 parents 20d19d9 + fa47d0b commit c16b32b
Showing 1 changed file with 48 additions and 0 deletions.
48 changes: 48 additions & 0 deletions tests/test_reactive.py
Original file line number Diff line number Diff line change
Expand Up @@ -413,3 +413,51 @@ def _watch_counter(self) -> None:
pilot.app.counter += 1
assert calls["private"] is True
assert calls["public"] is True


@pytest.mark.xfail(reason="https://github.com/Textualize/textual/issues/2539")
async def test_public_and_private_validate() -> None:
"""If a reactive/var has public and private validate both should get called."""

calls: dict[str, bool] = {"private": False, "public": False}

class PrivateValidateTest(App):
counter = var(0, init=False)

def validate_counter(self, _: int) -> None:
calls["public"] = True

def _validate_counter(self, _: int) -> None:
calls["private"] = True

async with PrivateValidateTest().run_test() as pilot:
assert calls["private"] is False
assert calls["public"] is False
pilot.app.counter += 1
assert calls["private"] is True
assert calls["public"] is True


@pytest.mark.xfail(reason="https://github.com/Textualize/textual/issues/2539")
async def test_public_and_private_compute() -> None:
"""If a reactive/var has public and private compute both should get called."""

calls: dict[str, bool] = {"private": False, "public": False}

class PrivateComputeTest(App):
counter = var(0, init=False)

def compute_counter(self) -> int:
calls["public"] = True
return 23

def _compute_counter(self) -> int:
calls["private"] = True
return 42

async with PrivateComputeTest().run_test() as pilot:
assert calls["private"] is False
assert calls["public"] is False
_ = pilot.app.counter
assert calls["private"] is True
assert calls["public"] is True

0 comments on commit c16b32b

Please sign in to comment.