import pytest import time from unittest.mock import patch, MagicMock def test_gui_frosted_background_call(): # Mock ShaderManager and OpenGL functions with patch("src.gui_2.ShaderManager") as mock_sm_class, \ patch("src.gui_2.gl") as mock_gl, \ patch("src.gui_2.imgui") as mock_imgui, \ patch("src.gui_2.theme") as mock_theme: mock_sm = mock_sm_class.return_value mock_sm.blur_tex = 2 mock_theme.get_frosted_glass_enabled.return_value = True mock_imgui.get_io().display_size = MagicMock(x=1920, y=1080) from src.gui_2 import App with patch.object(App, '__init__', return_value=None): app = App() app.shader_manager = mock_sm # Simulate frame app._render_frosted_background(pos=MagicMock(x=10, y=10), size=MagicMock(x=100, y=100)) # Now it should only call add_image assert mock_imgui.get_window_draw_list().add_image.called # It no longer calls these assert not mock_sm.setup_capture_fbo.called assert not mock_sm.render_blur.called assert not mock_sm.capture_begin.called assert not mock_sm.capture_end.called def test_gui_global_blur_call(): with patch("src.gui_2.ShaderManager") as mock_sm_class, \ patch("src.gui_2.imgui") as mock_imgui, \ patch("src.gui_2.theme") as mock_theme, \ patch("src.gui_2.bg_shader") as mock_bg: mock_sm = mock_sm_class.return_value mock_theme.get_frosted_glass_enabled.return_value = True mock_theme.is_nerv_active.return_value = False mock_imgui.get_io().display_size = MagicMock(x=1920, y=1080) mock_bg.get_bg.return_value = MagicMock(enabled=False) from src.gui_2 import App with patch.object(App, '__init__', return_value=None): app = App() app.shader_manager = mock_sm app.shader_uniforms = { 'frosted_blur_radius': 10.0, 'frosted_tint_intensity': 0.5, 'frosted_opacity': 0.8 } app.ai_status = "idle" app.ui_crt_filter = False app.controller = MagicMock() app.perf_profiling_enabled = False app.is_viewing_prior_session = False app.config = {} app.project = {} app.show_windows = {} app.ui_auto_scroll_comms = False app._comms_log_dirty = False app._tool_log_dirty = False app._pending_comms_lock = MagicMock() app._pending_comms = [] app.ui_focus_agent = None app._last_ui_focus_agent = None app.perf_monitor = MagicMock() app._process_pending_gui_tasks = MagicMock() app._process_pending_history_adds = MagicMock() app._render_track_proposal_modal = MagicMock() app._render_patch_modal = MagicMock() app._render_save_preset_modal = MagicMock() app._render_preset_manager_window = MagicMock() app._render_tool_preset_manager_window = MagicMock() app._render_persona_editor_window = MagicMock() app._last_autosave = time.time() app._autosave_interval = 60 app._render_custom_title_bar = MagicMock() app._render_shader_live_editor = MagicMock() try: app._gui_func() except Exception: pass assert mock_sm.prepare_global_blur.called