Steam UI improvements.
This commit is contained in:
@@ -108,5 +108,45 @@ class WebHiddenPopupTests(unittest.TestCase):
|
||||
self.assertFalse(utilities._canHaveCaretContext(hiddenObject))
|
||||
|
||||
|
||||
class WebRemovedChildRegressionTests(unittest.TestCase):
|
||||
def test_removed_child_recovery_does_not_crash_when_last_key_is_not_up_or_down(self):
|
||||
utilities = script_utilities.Utilities.__new__(script_utilities.Utilities)
|
||||
removedChild = object()
|
||||
locusOfFocus = object()
|
||||
source = object()
|
||||
recoveredObject = object()
|
||||
event = mock.Mock(any_data=removedChild, source=source, detail1=0)
|
||||
|
||||
utilities._script = mock.Mock(pointOfReference={"names": {}})
|
||||
utilities._handleEventForRemovedListBoxChild = mock.Mock(return_value=False)
|
||||
utilities.isSameObject = mock.Mock(return_value=False)
|
||||
utilities.searchForCaretContext = mock.Mock(return_value=(recoveredObject, 0))
|
||||
utilities.setCaretContext = mock.Mock()
|
||||
|
||||
manager = mock.Mock()
|
||||
manager.last_event_was_up.return_value = False
|
||||
manager.last_event_was_down.return_value = False
|
||||
|
||||
def find_ancestor(obj, predicate):
|
||||
if obj is locusOfFocus and predicate(removedChild):
|
||||
return removedChild
|
||||
return None
|
||||
|
||||
with (
|
||||
mock.patch.object(script_utilities.cthulhu_state, "locusOfFocus", locusOfFocus),
|
||||
mock.patch.object(script_utilities.input_event_manager, "get_manager", return_value=manager),
|
||||
mock.patch.object(script_utilities.AXObject, "find_ancestor", side_effect=find_ancestor),
|
||||
mock.patch.object(script_utilities.AXObject, "get_child_count", return_value=0),
|
||||
mock.patch.object(script_utilities.AXObject, "clear_cache"),
|
||||
mock.patch.object(script_utilities.AXObject, "is_dead", return_value=False),
|
||||
mock.patch.object(script_utilities.AXUtilities, "get_focused_object", return_value=None),
|
||||
mock.patch.object(script_utilities.cthulhu, "setLocusOfFocus") as setLocusOfFocus,
|
||||
):
|
||||
self.assertTrue(utilities.handleEventForRemovedChild(event))
|
||||
|
||||
setLocusOfFocus.assert_called_once_with(event, recoveredObject, False)
|
||||
utilities.setCaretContext.assert_called_once_with(recoveredObject, 0)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user