def testFunctions(self): self.assertResultIsCFRetained(AddressBook.ABPickerCreate) ref = AddressBook.ABPickerCreate() try: self.assertIsInstance( ref, (AddressBook.ABPickerRef, objc.lookUpClass("ABPeoplePickerCAdapter")), ) except objc.error: self.assertIsInstance(ref, AddressBook.ABPickerRef) AddressBook.ABPickerSetFrame(ref, ((90, 100), (200, 400))) r = AddressBook.ABPickerGetFrame(ref, None) self.assertIsInstance(r, AddressBook.NSRect) self.assertEqual(r, ((90, 100), (200, 400))) self.assertResultHasType(AddressBook.ABPickerIsVisible, objc._C_BOOL) r = AddressBook.ABPickerIsVisible(ref) self.assertIsInstance(r, bool) self.assertTrue(r is False) self.assertArgHasType(AddressBook.ABPickerSetVisibility, 1, objc._C_BOOL) AddressBook.ABPickerSetVisibility(ref, True) r = AddressBook.ABPickerIsVisible(ref) self.assertTrue(r is True) AddressBook.ABPickerSetVisibility(ref, False) r = AddressBook.ABPickerIsVisible(ref) self.assertTrue(r is False) r = AddressBook.ABPickerGetAttributes(ref) self.assertIsInstance(r, int) r = AddressBook.ABPickerChangeAttributes( ref, AddressBook.kABPickerAllowMultipleSelection, 0) self.assertTrue(r is None) AddressBook.ABPickerAddProperty(ref, AddressBook.kABFirstNameProperty) AddressBook.ABPickerAddProperty(ref, AddressBook.kABLastNameProperty) AddressBook.ABPickerRemoveProperty(ref, AddressBook.kABFirstNameProperty) v = AddressBook.ABPickerCopyProperties(ref) self.assertIsInstance(v, AddressBook.NSArray) # Disable detailed testing, the RemoveProperties function # doesn't actually remove. See radar #7999195. # self.assertEqual(tuple(v), (AddressBook.kABLastNameProperty,)) AddressBook.ABPickerSetColumnTitle(ref, "Achternaam", AddressBook.kABLastNameProperty) v = AddressBook.ABPickerCopyColumnTitle( ref, AddressBook.kABLastNameProperty) self.assertResultIsCFRetained(AddressBook.ABPickerCopyColumnTitle) self.assertEqual(v, "Achternaam") AddressBook.ABPickerSetDisplayedProperty( ref, AddressBook.kABLastNameProperty) v = AddressBook.ABPickerCopyDisplayedProperty(ref) self.assertResultIsCFRetained( AddressBook.ABPickerCopyDisplayedProperty) self.assertIsInstance(v, str) v = AddressBook.ABPickerCopySelectedGroups(ref) self.assertIsInstance(v, AddressBook.NSArray) v = AddressBook.ABPickerCopySelectedRecords(ref) self.assertIsInstance(v, AddressBook.NSArray) v = AddressBook.ABPickerCopySelectedIdentifiers( ref, AddressBook.ABGetMe(AddressBook.ABGetSharedAddressBook())) if v is not None: self.assertIsInstance(v, AddressBook.NSArray) v = AddressBook.ABPickerCopySelectedValues(ref) self.assertIsInstance(v, AddressBook.NSArray) grp = AddressBook.ABCopyArrayOfAllGroups( AddressBook.ABGetSharedAddressBook())[0] usr = AddressBook.ABGetMe(AddressBook.ABGetSharedAddressBook()) AddressBook.ABPickerSelectGroup(ref, grp, True) self.assertArgHasType(AddressBook.ABPickerSelectGroup, 2, objc._C_BOOL) AddressBook.ABPickerSelectRecord(ref, usr, False) self.assertArgHasType(AddressBook.ABPickerSelectRecord, 2, objc._C_BOOL) AddressBook.ABPickerSelectIdentifier( ref, usr, "Last", False) # AddressBook.ABRecordCopyUniqueId(usr), False) self.assertArgHasType(AddressBook.ABPickerSelectIdentifier, 3, objc._C_BOOL) AddressBook.ABPickerDeselectIdentifier(ref, usr, "Last") AddressBook.ABPickerDeselectGroup(ref, grp) AddressBook.ABPickerDeselectRecord(ref, usr) AddressBook.ABPickerDeselectAll(ref) AddressBook.ABPickerClearSearchField(ref) if 0: # These are annoying, don't actually call AddressBook.ABPickerEditInAddressBook(ref) AddressBook.ABPickerSelectInAddressBook(ref) else: AddressBook.self.assertResultHasType( AddressBook.ABPickerEditInAddressBook, objc._C_VOID) AddressBook.self.assertResultHasType( AddressBook.ABPickerSelectInAddressBook, objc._C_VOID) r = AddressBook.ABPickerGetDelegate(ref) AddressBook.ABPickerSetDelegate