"""Regression tests for focus manager API compatibility.""" from __future__ import annotations import pytest from cthulhu import focus_manager @pytest.mark.unit def test_is_in_preferences_window_tracks_cthulhu_active_window(monkeypatch): manager = focus_manager.FocusManager.__new__(focus_manager.FocusManager) window = object() app = object() manager._window = window monkeypatch.setattr(focus_manager.AXObject, "get_application", lambda obj: app) monkeypatch.setattr(focus_manager.AXObject, "get_name", lambda obj: "Cthulhu") assert manager.is_in_preferences_window() is True @pytest.mark.unit def test_is_in_preferences_window_is_false_for_non_cthulhu_window(monkeypatch): manager = focus_manager.FocusManager.__new__(focus_manager.FocusManager) window = object() app = object() manager._window = window monkeypatch.setattr(focus_manager.AXObject, "get_application", lambda obj: app) monkeypatch.setattr(focus_manager.AXObject, "get_name", lambda obj: "Terminal") assert manager.is_in_preferences_window() is False