1 2from PyObjCTools.TestSupport import * 3from CoreText import * 4 5try: 6 unicode 7except NameError: 8 unicode = str 9 10try: 11 long 12except NameError: 13 long = int 14 15class TestCTFontCollection (TestCase): 16 def testTypes(self): 17 self.assertIsInstance(CTFontCollectionRef, objc.objc_class) 18 19 def testConstants(self): 20 self.assertIsInstance(kCTFontCollectionRemoveDuplicatesOption, unicode) 21 22 def testFunctions(self): 23 24 v = CTFontCollectionCreateWithFontDescriptors([ 25 CTFontDescriptorCreateWithNameAndSize("Optima Bold", 14), 26 ], None) 27 self.assertIsInstance(v, CTFontCollectionRef) 28 29 col = CTFontCollectionCreateFromAvailableFonts(None) 30 self.assertIsInstance(col, CTFontCollectionRef) 31 32 self.assertResultIsCFRetained(CTFontCollectionCreateMatchingFontDescriptors) 33 v = CTFontCollectionCreateMatchingFontDescriptors(col) 34 self.assertIsInstance(v, CFArrayRef) 35 36 def compare(a, b, ctx): 37 self.assertIsInstance(a, CTFontDescriptorRef) 38 self.assertIsInstance(b, CTFontDescriptorRef) 39 self.assertEqual(ctx, "foo") 40 return 0 41 self.assertResultIsCFRetained(CTFontCollectionCreateMatchingFontDescriptorsSortedWithCallback) 42 v = CTFontCollectionCreateMatchingFontDescriptorsSortedWithCallback( 43 col, compare, "foo") 44 self.assertIsInstance(v, CFArrayRef) 45 46 v = CTFontCollectionGetTypeID() 47 self.assertIsInstance(v, (int, long)) 48 49 50if __name__ == "__main__": 51 main() 52