1
2from PyObjCTools.TestSupport import *
3from AppKit import *
4
5class TestNSAlertHelper (NSObject):
6    def alertShowHelp_(self, alert):
7        return 1
8
9class TestNSAlert (TestCase):
10    def testConstants(self):
11        self.failUnlessEqual(NSWarningAlertStyle, 0)
12        self.failUnlessEqual(NSInformationalAlertStyle, 1)
13        self.failUnlessEqual(NSCriticalAlertStyle, 2)
14        self.failUnlessEqual(NSAlertFirstButtonReturn, 1000)
15        self.failUnlessEqual(NSAlertSecondButtonReturn, 1001)
16        self.failUnlessEqual(NSAlertThirdButtonReturn, 1002)
17
18
19
20    def testMethods(self):
21        self.failUnlessArgIsPrintf(NSAlert.alertWithMessageText_defaultButton_alternateButton_otherButton_informativeTextWithFormat_, 4)
22        self.failUnlessArgIsSEL(NSAlert.beginSheetModalForWindow_modalDelegate_didEndSelector_contextInfo_, 2, 'v@:@' + objc._C_NSInteger + '^v')
23        self.failUnlessArgHasType(NSAlert.beginSheetModalForWindow_modalDelegate_didEndSelector_contextInfo_, 3, '^v')
24
25        self.failUnlessResultIsBOOL(NSAlert.showsHelp)
26        self.failUnlessArgIsBOOL(NSAlert.setShowsHelp_, 0)
27
28    @min_os_level('10.5')
29    def testMethods10_5(self):
30        self.failUnlessResultIsBOOL(NSAlert.showsSuppressionButton)
31        self.failUnlessArgIsBOOL(NSAlert.setShowsSuppressionButton_, 0)
32
33    def testProtocols(self):
34        self.failUnlessResultIsBOOL(TestNSAlertHelper.alertShowHelp_)
35
36
37if __name__ == "__main__":
38    main()
39