1 2from PyObjCTools.TestSupport import * 3from AddressBook import * 4 5class TestABPeoplePickerC (TestCase): 6 def testConstants(self): 7 self.failUnlessEqual(kABPickerSingleValueSelection, 1 << 0) 8 self.failUnlessEqual(kABPickerMultipleValueSelection, 1 << 1) 9 self.failUnlessEqual(kABPickerAllowGroupSelection, 1 << 2) 10 self.failUnlessEqual(kABPickerAllowMultipleSelection, 1 << 3) 11 self.failUnlessEqual(kEventClassABPeoplePicker, fourcc('abpp')) 12 self.failUnlessEqual(kEventParamABPickerRef, fourcc('abpp')) 13 self.failUnlessEqual(kEventABPeoplePickerGroupSelectionChanged, 1) 14 self.failUnlessEqual(kEventABPeoplePickerNameSelectionChanged, 2) 15 self.failUnlessEqual(kEventABPeoplePickerValueSelectionChanged, 3) 16 self.failUnlessEqual(kEventABPeoplePickerDisplayedPropertyChanged, 4) 17 self.failUnlessEqual(kEventABPeoplePickerGroupDoubleClicked, 5) 18 self.failUnlessEqual(kEventABPeoplePickerNameDoubleClicked, 6) 19 20 21 def testType(self): 22 self.failUnlessIsInstance(ABPickerRef, objc.objc_class) 23 24 def testFunctions(self): 25 self.failUnlessResultIsCFRetained(ABPickerCreate) 26 ref = ABPickerCreate() 27 self.failUnlessIsInstance(ref, ABPickerRef) 28 29 ABPickerSetFrame(ref, ((90, 100), (200, 400))) 30 r = ABPickerGetFrame(ref, None) 31 self.failUnlessIsInstance(r, tuple) 32 self.failUnlessEqual(r, ((90, 100), (200, 400))) 33 34 self.failUnlessResultHasType(ABPickerIsVisible, objc._C_BOOL) 35 r = ABPickerIsVisible(ref) 36 self.failUnlessIsInstance(r, bool) 37 self.failUnless(r is False) 38 39 self.failUnlessArgHasType(ABPickerSetVisibility, 1, objc._C_BOOL) 40 ABPickerSetVisibility(ref, True) 41 42 r = ABPickerIsVisible(ref) 43 self.failUnless(r is True) 44 45 ABPickerSetVisibility(ref, False) 46 47 r = ABPickerIsVisible(ref) 48 self.failUnless(r is False) 49 50 r = ABPickerGetAttributes(ref) 51 self.failUnlessIsInstance(r, (int, long)) 52 53 r = ABPickerChangeAttributes(ref, kABPickerAllowMultipleSelection, 0) 54 self.failUnless(r is None) 55 56 ABPickerAddProperty(ref, kABFirstNameProperty) 57 ABPickerAddProperty(ref, kABLastNameProperty) 58 ABPickerRemoveProperty(ref, kABFirstNameProperty) 59 60 v = ABPickerCopyProperties(ref) 61 self.failUnlessIsInstance(v, CFArrayRef) 62 self.failUnlessEqual(tuple(v), (kABLastNameProperty,)) 63 64 ABPickerSetColumnTitle(ref, u"Achternaam", kABLastNameProperty) 65 v = ABPickerCopyColumnTitle(ref, kABLastNameProperty) 66 self.failUnlessResultIsCFRetained(ABPickerCopyColumnTitle) 67 self.failUnlessEqual(v, u"Achternaam") 68 69 ABPickerSetDisplayedProperty(ref, kABLastNameProperty) 70 v = ABPickerCopyDisplayedProperty(ref) 71 self.failUnlessResultIsCFRetained(ABPickerCopyDisplayedProperty) 72 self.failUnlessIsInstance(v, unicode) 73 74 v = ABPickerCopySelectedGroups(ref) 75 self.failUnlessIsInstance(v, CFArrayRef) 76 77 v = ABPickerCopySelectedRecords(ref) 78 self.failUnlessIsInstance(v, CFArrayRef) 79 80 v = ABPickerCopySelectedIdentifiers(ref, ABGetMe(ABGetSharedAddressBook())) 81 if v is not None: 82 self.failUnlessIsInstance(v, CFArrayRef) 83 84 v = ABPickerCopySelectedValues(ref) 85 self.failUnlessIsInstance(v, CFArrayRef) 86 87 grp = ABCopyArrayOfAllGroups(ABGetSharedAddressBook())[0] 88 usr = ABGetMe(ABGetSharedAddressBook()) 89 90 ABPickerSelectGroup(ref, grp, True) 91 self.failUnlessArgHasType(ABPickerSelectGroup, 2, objc._C_BOOL) 92 93 ABPickerSelectRecord(ref, usr, False) 94 self.failUnlessArgHasType(ABPickerSelectRecord, 2, objc._C_BOOL) 95 96 ABPickerSelectIdentifier(ref, usr, "Last", False) #ABRecordCopyUniqueId(usr), False) 97 self.failUnlessArgHasType(ABPickerSelectIdentifier, 3, objc._C_BOOL) 98 99 ABPickerDeselectIdentifier(ref, usr, u"Last") 100 101 ABPickerDeselectGroup(ref, grp) 102 ABPickerDeselectRecord(ref, usr) 103 104 ABPickerDeselectAll(ref) 105 106 ABPickerClearSearchField(ref) 107 108 if 0: 109 # These are annoying, don't actually call 110 ABPickerEditInAddressBook(ref) 111 ABPickerSelectInAddressBook(ref) 112 else: 113 self.failUnlessResultHasType(ABPickerEditInAddressBook, objc._C_VOID) 114 self.failUnlessResultHasType(ABPickerSelectInAddressBook, objc._C_VOID) 115 116 r = ABPickerGetDelegate(ref) 117 118 ABPickerSetDelegate 119 120 121 122 123 124 125 126 127 128 129 130 131if __name__ == "__main__": 132 main() 133