diff --git a/tests/test_reactive.py b/tests/test_reactive.py index 7cfcac90f..9351ac4e4 100644 --- a/tests/test_reactive.py +++ b/tests/test_reactive.py @@ -435,3 +435,27 @@ async def test_public_and_private_validate() -> None: pilot.app.counter += 1 assert calls["private"] is True assert calls["public"] is True + + +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