From 98a894f7524eea3fd929d3e2f1f9edbd69021677 Mon Sep 17 00:00:00 2001 From: Felix Martin Date: Thu, 11 Jun 2026 10:49:03 -0400 Subject: [PATCH] test: harden sandbox policy mapping across switch states Co-Authored-By: Claude Opus 4.8 --- tests/test_tui.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tests/test_tui.py b/tests/test_tui.py index afb1746..dd99b55 100644 --- a/tests/test_tui.py +++ b/tests/test_tui.py @@ -1964,3 +1964,22 @@ async def test_jk_typed_into_input_is_literal(): await pilot.pause() assert nickname.value == "jk" assert app.focused is nickname + + +def test_policy_is_none_when_sandbox_off_regardless_of_suboptions(): + """When sandboxing is off, the (now hidden) fs/net sub-option values are + discarded — the submitted policy is None no matter what they hold.""" + from hqt.tui.screens.new_session import NewSessionScreen + + assert NewSessionScreen._policy_from(False, "ro", False) is None + assert NewSessionScreen._policy_from(False, "rw", True) is None + + +def test_policy_reflects_suboptions_when_sandbox_on(): + """When sandboxing is on, the fs/net sub-option values flow into the policy.""" + from hqt.tui.screens.new_session import NewSessionScreen + + policy = NewSessionScreen._policy_from(True, "ro", False) + assert policy is not None + assert policy.fs == "ro" + assert policy.net is False