Files
cthulhu/tests/test_focus_manager_compat.py

34 lines
1.1 KiB
Python

"""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