1
2from PyObjCTools.TestSupport import *
3from AppKit import *
4
5class TestNSFontPanelHelper (NSObject):
6    def validModesForFontPanel_(self, p): return 1
7
8class TestNSFontPanel (TestCase):
9    def testConstants(self):
10        self.assertEqual(NSFPPreviewButton, 131)
11        self.assertEqual(NSFPRevertButton, 130)
12        self.assertEqual(NSFPSetButton, 132)
13        self.assertEqual(NSFPPreviewField, 128)
14        self.assertEqual(NSFPSizeField, 129)
15        self.assertEqual(NSFPSizeTitle, 133)
16        self.assertEqual(NSFPCurrentField, 134)
17        self.assertEqual(NSFontPanelFaceModeMask, 1 << 0)
18        self.assertEqual(NSFontPanelSizeModeMask, 1 << 1)
19        self.assertEqual(NSFontPanelCollectionModeMask, 1 << 2)
20        self.assertEqual(NSFontPanelUnderlineEffectModeMask, 1<<8)
21        self.assertEqual(NSFontPanelStrikethroughEffectModeMask, 1<<9)
22        self.assertEqual(NSFontPanelTextColorEffectModeMask, 1<< 10)
23        self.assertEqual(NSFontPanelDocumentColorEffectModeMask, 1<<11)
24        self.assertEqual(NSFontPanelShadowEffectModeMask, 1<<12)
25        self.assertEqual(NSFontPanelAllEffectsModeMask, (0XFFF00))
26        self.assertEqual(NSFontPanelStandardModesMask, (0xFFFF))
27        self.assertEqual(NSFontPanelAllModesMask, (0xFFFFFFFF))
28
29    def testProtocols(self):
30        self.assertResultHasType(TestNSFontPanelHelper.validModesForFontPanel_, objc._C_NSUInteger)
31
32    def testMethods(self):
33        self.assertResultIsBOOL(NSFontPanel.sharedFontPanelExists)
34        self.assertResultIsBOOL(NSFontPanel.worksWhenModal)
35        self.assertResultIsBOOL(NSFontPanel.isEnabled)
36        self.assertArgIsBOOL(NSFontPanel.setEnabled_, 0)
37        self.assertArgIsBOOL(NSFontPanel.setPanelFont_isMultiple_, 1)
38
39if __name__ == "__main__":
40    main()
41