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