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