Initial work on making Steam overlay accessible.
This commit is contained in:
1 parent
278a914630
commit
0858ec441a
4 files changed
+1335
-4
No files matched your search
@@ -182,6 +182,42 @@ class EventManagerCompositorContextRegressionTests(unittest.TestCase):
|
||||
self.assertFalse(self.manager._ignore(firstEvent))
|
||||
self.assertTrue(self.manager._ignore(secondEvent))
|
||||
|
||||
def test_steam_quick_access_name_changed_survives_without_active_script(self) -> None:
|
||||
app = object()
|
||||
event = FakeEvent("object:property-change:accessible-name", source="quick-access")
|
||||
cthulhu_state.activeScript = None
|
||||
|
||||
with (
|
||||
mock.patch.object(event_manager.debug, "printMessage"),
|
||||
mock.patch.object(event_manager.debug, "printTokens"),
|
||||
mock.patch.object(event_manager.debug, "print_log"),
|
||||
mock.patch.object(event_manager.AXObject, "get_application", return_value=app),
|
||||
mock.patch.object(event_manager.AXObject, "get_name", return_value="steamwebhelper"),
|
||||
):
|
||||
self.manager._isSteamOverlayNavigationEvent = mock.Mock(return_value=True)
|
||||
|
||||
self.assertFalse(self.manager._ignore(event))
|
||||
|
||||
def test_steam_overlay_navigation_requires_quick_access_context(self) -> None:
|
||||
app = object()
|
||||
event = FakeEvent("object:property-change:accessible-name", source="not-quick-access")
|
||||
|
||||
self.manager._isSteamApp = mock.Mock(return_value=True)
|
||||
self.manager._activeX11WindowIsSteamSelectionContext = mock.Mock(return_value=True)
|
||||
self.manager._eventHasSteamQuickAccessContext = mock.Mock(return_value=False)
|
||||
|
||||
self.assertFalse(self.manager._isSteamOverlayNavigationEvent(event, app))
|
||||
|
||||
def test_steam_overlay_navigation_rejects_children_changed_churn(self) -> None:
|
||||
app = object()
|
||||
event = FakeEvent("object:children-changed:add", source="quick-access", any_data=object())
|
||||
|
||||
self.manager._isSteamApp = mock.Mock(return_value=True)
|
||||
self.manager._activeX11WindowIsSteamSelectionContext = mock.Mock(return_value=True)
|
||||
self.manager._eventHasSteamQuickAccessContext = mock.Mock(return_value=True)
|
||||
|
||||
self.assertFalse(self.manager._isSteamOverlayNavigationEvent(event, app))
|
||||
|
||||
def test_steam_focus_lost_burst_is_ignored_but_focus_gain_is_preserved(self) -> None:
|
||||
app = object()
|
||||
cthulhu_state.activeScript = mock.Mock(app=app)
|
||||
|
||||
Reference in new issue
Block a user