1
2from PyObjCTools.TestSupport import *
3from AppKit import *
4
5class TestNSPanel (TestCase):
6
7    def testFunctions(self):
8        self.assertArgIsPrintf(NSRunAlertPanel, 1)
9        self.assertArgIsPrintf(NSRunInformationalAlertPanel, 1)
10        self.assertArgIsPrintf(NSRunCriticalAlertPanel, 1)
11        self.assertArgIsPrintf(NSRunAlertPanelRelativeToWindow, 1)
12        self.assertArgIsPrintf(NSRunInformationalAlertPanelRelativeToWindow, 1)
13        self.assertArgIsPrintf(NSRunCriticalAlertPanelRelativeToWindow, 1)
14        self.assertArgIsPrintf(NSBeginAlertSheet, 9)
15        self.assertArgIsSEL(NSBeginAlertSheet, 6, b'v@:@'+objc._C_NSInteger+b'^v')
16        self.assertArgIsSEL(NSBeginAlertSheet, 7, b'v@:@'+objc._C_NSInteger+b'^v')
17        self.assertArgHasType(NSBeginAlertSheet, 8, b'^v')
18        self.assertArgIsPrintf(NSBeginInformationalAlertSheet, 9)
19        self.assertArgIsSEL(NSBeginInformationalAlertSheet, 6, b'v@:@'+objc._C_NSInteger+b'^v')
20        self.assertArgIsSEL(NSBeginInformationalAlertSheet, 7, b'v@:@'+objc._C_NSInteger+b'^v')
21        self.assertArgHasType(NSBeginInformationalAlertSheet, 8, b'^v')
22        self.assertArgIsPrintf(NSBeginCriticalAlertSheet, 9)
23        self.assertArgIsSEL(NSBeginCriticalAlertSheet, 6, b'v@:@'+objc._C_NSInteger+b'^v')
24        self.assertArgIsSEL(NSBeginCriticalAlertSheet, 7, b'v@:@'+objc._C_NSInteger+b'^v')
25        self.assertArgHasType(NSBeginCriticalAlertSheet, 8, b'^v')
26        self.assertArgIsPrintf(NSGetAlertPanel, 1)
27        self.assertArgIsPrintf(NSGetInformationalAlertPanel, 1)
28        self.assertArgIsPrintf(NSGetCriticalAlertPanel, 1)
29
30        panel = NSGetInformationalAlertPanel("title", "fmt %d", "ok", "cancel", "help", 10)
31        self.assertIsInstance(panel, NSPanel)
32
33        NSReleaseAlertPanel(panel)
34
35
36    def testConstants(self):
37        self.assertEqual(NSAlertDefaultReturn, 1)
38        self.assertEqual(NSAlertAlternateReturn, 0)
39        self.assertEqual(NSAlertOtherReturn, -1)
40        self.assertEqual(NSAlertErrorReturn, -2)
41        self.assertEqual(NSOKButton, 1)
42        self.assertEqual(NSCancelButton, 0)
43        self.assertEqual(NSUtilityWindowMask, 1 << 4)
44        self.assertEqual(NSDocModalWindowMask, 1 << 6)
45        self.assertEqual(NSNonactivatingPanelMask, 1 << 7)
46
47    @min_os_level("10.5")
48    def testConstants10_5(self):
49        self.assertEqual(NSHUDWindowMask, 1 << 13)
50
51    def testMethods(self):
52        self.assertResultIsBOOL(NSPanel.isFloatingPanel)
53        self.assertArgIsBOOL(NSPanel.setFloatingPanel_, 0)
54        self.assertResultIsBOOL(NSPanel.becomesKeyOnlyIfNeeded)
55        self.assertArgIsBOOL(NSPanel.setBecomesKeyOnlyIfNeeded_, 0)
56        self.assertResultIsBOOL(NSPanel.worksWhenModal)
57        self.assertArgIsBOOL(NSPanel.setWorksWhenModal_, 0)
58
59if __name__ == "__main__":
60    main()
61