def testCreatingCallbacks(self): def function(*arg): pass @objc.callbackFor(OC_CallbackTest.selWithCallback_) def function(arg1, arg2): pass self.assertIn(' "objc.__imp__" ', repr(function.pyobjc_closure)) meta = function.__metadata__() self.assertIsInstance(meta, dict) self.assertEqual(len(meta['arguments']), 2) @objc.callbackFor(OC_CallbackTest.selWithCallback2_) def function(): pass self.assertIn(' "objc.__imp__" ', repr(function.pyobjc_closure)) @objc.callbackFor(OC_CallbackTest.selWithCallback_andCallback_, -1) def function(a): pass self.assertIn(' "objc.__imp__" ', repr(function.pyobjc_closure)) @objc.callbackFor(OC_CallbackTest.selWithCallback_andCallback_, 2) def function(a): pass self.assertIn(' "objc.__imp__" ', repr(function.pyobjc_closure)) @objc.callbackFor(OC_CallbackTest.selWithCallback_andCallback_, 3) def function(a, b): pass self.assertIn(' "objc.__imp__" ', repr(function.pyobjc_closure)) self.assertRaises(objc.BadPrototypeError, objc.callbackFor(OC_CallbackTest.selWithCallback_), lambda a: None) self.assertRaises(objc.BadPrototypeError, objc.callbackFor(OC_CallbackTest.selWithCallback_), lambda a,b,c: None)
def testCallbackForUnsupported(self): def function(arg): pass self.assertRaises(TypeError, objc.callbackFor(dir), function) self.assertRaises(TypeError, objc.callbackFor(function), function) self.assertRaises(TypeError, objc.callbackFor(42), function) self.assertRaises(ValueError, objc.callbackFor(OC_CallbackTest.selWithSEL_SEL_andObject_), function) self.assertRaises(ValueError, objc.callbackFor(OC_CallbackTest.selWithoutSEL_), function)
def testCreatingCallbacks(self): def function(*arg): pass @objc.callbackFor(OC_CallbackTest.selWithCallback_) def function(arg1, arg2): pass self.assertIn(' "objc.__imp__" ', repr(function.pyobjc_closure)) meta = function.__metadata__() self.assertIsInstance(meta, dict) self.assertEqual(len(meta["arguments"]), 2) self.assertIsInstance(objc.callbackPointer(function), (int, long)) self.assertRaises(ValueError, objc.callbackPointer, None) @objc.callbackFor(OC_CallbackTest.selWithCallback2_) def function(): pass self.assertIn(' "objc.__imp__" ', repr(function.pyobjc_closure)) @objc.callbackFor(OC_CallbackTest.selWithCallback_andCallback_, -1) def function(a): pass self.assertIn(' "objc.__imp__" ', repr(function.pyobjc_closure)) @objc.callbackFor(OC_CallbackTest.selWithCallback_andCallback_, 2) def function(a): pass self.assertIn(' "objc.__imp__" ', repr(function.pyobjc_closure)) @objc.callbackFor(OC_CallbackTest.selWithCallback_andCallback_, 3) def function(a, b): pass self.assertIn(' "objc.__imp__" ', repr(function.pyobjc_closure)) self.assertRaises( objc.BadPrototypeError, objc.callbackFor(OC_CallbackTest.selWithCallback_), lambda a: None, ) self.assertRaises( objc.BadPrototypeError, objc.callbackFor(OC_CallbackTest.selWithCallback_), lambda a, b, c: None, )
def testCreatingCallbacks(self): def function(*arg): pass @objc.callbackFor(OC_CallbackTest.selWithCallback_) def function(arg1, arg2): pass self.assertIn(' "objc.__imp__" ', repr(function.pyobjc_closure)) @objc.callbackFor(OC_CallbackTest.selWithCallback2_) def function(): pass self.assertIn(' "objc.__imp__" ', repr(function.pyobjc_closure)) @objc.callbackFor(OC_CallbackTest.selWithCallback_andCallback_, -1) def function(a): pass self.assertIn(' "objc.__imp__" ', repr(function.pyobjc_closure)) @objc.callbackFor(OC_CallbackTest.selWithCallback_andCallback_, 2) def function(a): pass self.assertIn(' "objc.__imp__" ', repr(function.pyobjc_closure)) @objc.callbackFor(OC_CallbackTest.selWithCallback_andCallback_, 3) def function(a, b): pass self.assertIn(' "objc.__imp__" ', repr(function.pyobjc_closure)) self.assertRaises(objc.BadPrototypeError, objc.callbackFor(OC_CallbackTest.selWithCallback_), lambda a: None) self.assertRaises(objc.BadPrototypeError, objc.callbackFor(OC_CallbackTest.selWithCallback_), lambda a, b, c: None)
AXObserverCreate, AXObserverRemoveNotification, AXUIElementCopyActionNames, AXUIElementCopyAttributeNames, AXUIElementCopyAttributeValue, AXUIElementCopyElementAtPosition, AXUIElementGetPid, AXUIElementIsAttributeSettable, AXUIElementPerformAction, AXUIElementSetAttributeValue, AXUIElementSetMessagingTimeout, ) from atomacos import errors from objc import callbackFor PAXObserverCallback = callbackFor(AXObserverCreate) def PAXObserverCreate(application, callback): """ Creates a new observer that can receive notifications from the specified application. Args: application: The process ID of the application callback: The callback function Returns: an AXObserverRef representing the observer object """ error_code, observer = AXObserverCreate(application, callback, None)