1from PyObjCTools.TestSupport import *
2
3from Foundation import *
4
5class TestNSNetServicesHelper (NSObject):
6    def netServiceBrowser_didFindDomain_moreComing_(self, a, b, c): pass
7    def netServiceBrowser_didFindService_moreComing_(self, a, b, c): pass
8    def netServiceBrowser_didRemoveDomain_moreComing_(self, a, b, c): pass
9    def netServiceBrowser_didRemoveService_moreComing_(self, a, b, c): pass
10
11
12class TestNSNetservices (TestCase):
13    def testConstants(self):
14
15        self.failUnless(isinstance(NSNetServicesErrorCode, unicode))
16        self.failUnless(isinstance(NSNetServicesErrorDomain, unicode))
17
18
19        self.assertEquals(NSNetServicesUnknownError, -72000)
20        self.assertEquals(NSNetServicesCollisionError, -72001)
21        self.assertEquals(NSNetServicesNotFoundError, -72002)
22        self.assertEquals(NSNetServicesActivityInProgress, -72003)
23        self.assertEquals(NSNetServicesBadArgumentError, -72004)
24        self.assertEquals(NSNetServicesCancelledError, -72005)
25        self.assertEquals(NSNetServicesInvalidError, -72006)
26        self.assertEquals(NSNetServicesTimeoutError, -72007)
27        self.assertEquals(NSNetServiceNoAutoRename, 1)
28
29    def testOutput(self):
30        o = NSNetService.alloc().init()
31
32        m = o.getInputStream_outputStream_.__metadata__()
33        self.assertEquals(m['retval']['type'], 'Z')
34        self.assertEquals(m['arguments'][2]['type'], 'o^@')
35        self.assertEquals(m['arguments'][3]['type'], 'o^@')
36
37    def testMethods(self):
38        self.failUnlessResultIsBOOL(NSNetService.getInputStream_outputStream_)
39        self.failUnlessArgIsOut(NSNetService.getInputStream_outputStream_, 0)
40        self.failUnlessArgIsOut(NSNetService.getInputStream_outputStream_, 1)
41        self.failUnlessResultIsBOOL(NSNetService.setTXTRecordData_)
42
43        self.failUnlessArgIsBOOL(TestNSNetServicesHelper.netServiceBrowser_didFindDomain_moreComing_, 2)
44        self.failUnlessArgIsBOOL(TestNSNetServicesHelper.netServiceBrowser_didFindService_moreComing_, 2)
45        self.failUnlessArgIsBOOL(TestNSNetServicesHelper.netServiceBrowser_didRemoveDomain_moreComing_, 2)
46        self.failUnlessArgIsBOOL(TestNSNetServicesHelper.netServiceBrowser_didRemoveService_moreComing_, 2)
47
48if __name__ == "__main__":
49    main()
50