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