1from AppKit import *
2from PyObjCTools.TestSupport import *
3
4class TestOpenPanel (TestCase):
5    def dont_testOpenPanelSignature(self):
6        """
7        This test failed sometime after the 1.0b1 release (on Panther).
8        """
9
10        o = NSOpenPanel.openPanel()
11        sig = o.beginSheetForDirectory_file_types_modalForWindow_modalDelegate_didEndSelector_contextInfo_.signature
12        dclass= o.beginSheetForDirectory_file_types_modalForWindow_modalDelegate_didEndSelector_contextInfo_.definingClass
13        sig = ''.join(objc.splitSignature(sig))
14        self.assertEqual(
15            sig,
16            'v@:@@@@@:i')
17
18    def testMethods(self):
19        self.assertResultIsBOOL(NSOpenPanel.resolvesAliases)
20        self.assertArgIsBOOL(NSOpenPanel.setResolvesAliases_, 0)
21        self.assertResultIsBOOL(NSOpenPanel.canChooseDirectories)
22        self.assertArgIsBOOL(NSOpenPanel.setCanChooseDirectories_, 0)
23        self.assertResultIsBOOL(NSOpenPanel.allowsMultipleSelection)
24        self.assertArgIsBOOL(NSOpenPanel.setAllowsMultipleSelection_, 0)
25        self.assertResultIsBOOL(NSOpenPanel.canChooseFiles)
26        self.assertArgIsBOOL(NSOpenPanel.setCanChooseFiles_, 0)
27
28        panel = NSOpenPanel.openPanel()
29        self.assertArgIsSEL(panel.beginSheetForDirectory_file_types_modalForWindow_modalDelegate_didEndSelector_contextInfo_, 5, b'v@:@' + objc._C_NSInteger + b'^v')
30        self.assertArgHasType(panel.beginSheetForDirectory_file_types_modalForWindow_modalDelegate_didEndSelector_contextInfo_, 6, b'^v')
31
32        self.assertArgIsSEL(panel.beginForDirectory_file_types_modelessDelegate_didEndSelector_contextInfo_, 4, b'v@:@'+objc._C_NSInteger+b'^v')
33        self.assertArgHasType(panel.beginForDirectory_file_types_modelessDelegate_didEndSelector_contextInfo_, 5, b'^v')
34
35
36
37if __name__ == "__main__":
38    main()
39