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