diff --git a/tests/test_prior_session_no_pop_imbalance.py b/tests/test_prior_session_no_pop_imbalance.py index 59bbae0a..15ad25e2 100644 --- a/tests/test_prior_session_no_pop_imbalance.py +++ b/tests/test_prior_session_no_pop_imbalance.py @@ -15,6 +15,7 @@ def test_no_extraneous_pop_when_prior_session_renders(): app_instance.show_windows = {"Discussion Hub": True, "Log Management": True, "Tool Calls": True, "Message": True, "Operations Hub": True, "Response": True, "Theme": True} app_instance.active_discussion = "main" app_instance.ui_focus_agent = None + app_instance.ui_base_system_prompt = "" app_instance._last_ui_focus_agent = None app_instance._comms_log_dirty = True app_instance._tool_log_dirty = True @@ -32,7 +33,11 @@ def test_no_extraneous_pop_when_prior_session_renders(): with patch("src.gui_2.imgui") as mock_imgui, \ patch("src.gui_2.imscope") as mock_imscope, \ patch("src.gui_2.theme") as mock_theme, \ - patch("src.gui_2.markdown_helper") as mock_md: + patch("src.gui_2.markdown_helper") as mock_md, \ + patch("src.shaders.imgui", new=mock_imgui), \ + patch("src.imgui_scopes.imgui", new=mock_imgui), \ + patch("src.theme_2.imgui", new=mock_imgui), \ + patch("src.command_palette.render_palette_modal"): def _track_push(*a, **k): push_count["n"] += 1 def _track_pop(*a, **k): pop_count["n"] += 1 mock_imgui.push_style_color.side_effect = _track_push @@ -91,8 +96,8 @@ def test_no_extraneous_pop_when_prior_session_renders(): mock_imgui.get_window_height = MagicMock() mock_imgui.get_text_line_height = MagicMock() mock_imgui.get_cursor_screen_pos = MagicMock() - mock_imgui.ImVec2 = lambda *a: ("ImVec2", a) - mock_imgui.ImVec4 = lambda *a: ("ImVec4", a) + mock_imgui.ImVec2 = lambda *a: type("ImVec2", (), {"x": a[0], "y": a[1]})() + mock_imgui.ImVec4 = lambda *a: type("ImVec4", (), {"x": a[0], "y": a[1], "z": a[2], "w": a[3]})() mock_imgui.Col_ = MagicMock() mock_imgui.WindowFlags_ = MagicMock() mock_imgui.TableFlags_ = MagicMock() @@ -111,6 +116,7 @@ def test_no_extraneous_pop_when_prior_session_renders(): for sc in [mock_imscope.style_color, mock_imscope.style_var, mock_imscope.child, mock_imscope.tab_bar, mock_imscope.tab_item, mock_imscope.tree_node_ex, mock_imscope.group, mock_imscope.indent, mock_imscope.id, mock_imscope.text_wrap, mock_imscope.tooltip, mock_imscope.menu, mock_imscope.menu_bar, mock_imscope.popup, mock_imscope.popup_modal, mock_imscope.window, mock_imscope.table]: sc.return_value.__enter__ = MagicMock(side_effect=_scope_enter) sc.return_value.__exit__ = MagicMock(side_effect=_scope_exit) + mock_imscope.popup_modal.return_value.__enter__ = MagicMock(return_value=(True, None)) def _push_side_effect(*a, **k): push_count["n"] += 1 def _pop_side_effect(*a, **k): pop_count["n"] += 1 mock_imscope.style_color.return_value.__enter__.side_effect = _push_side_effect @@ -129,5 +135,5 @@ def test_no_extraneous_pop_when_prior_session_renders(): gui_2.render_main_interface(app_instance) except Exception as e: import pytest - pytest.fail(f"render_main_interface raised: {e}") + pytest.fail("render_main_interface raised: " + type(e).__name__ + ": " + str(e)[:200]) assert push_count["n"] == pop_count["n"], f"Push/pop imbalance: pushes={push_count['n']}, pops={pop_count['n']}"