1from PyObjCTools.TestSupport import *
2import Foundation
3
4class TestSFileCoordinator (TestCase):
5    @min_os_level('10.7')
6    def testConstants(self):
7        self.assertEqual(Foundation.NSFileCoordinatorReadingWithoutChanges, 1<<0)
8        self.assertEqual(Foundation.NSFileCoordinatorReadingResolvesSymbolicLink, 1<<1)
9        self.assertEqual(Foundation.NSFileCoordinatorWritingForDeleting, 1<<0)
10        self.assertEqual(Foundation.NSFileCoordinatorWritingForMoving, 1<<1)
11        self.assertEqual(Foundation.NSFileCoordinatorWritingForMerging, 1<<2)
12        self.assertEqual(Foundation.NSFileCoordinatorWritingForReplacing, 1<<3)
13
14    @min_os_level('10.7')
15    def testMethods(self):
16        self.assertArgIsOut(Foundation.NSFileCoordinator.coordinateReadingItemAtURL_options_error_byAccessor_, 2)
17        self.assertArgIsBlock(Foundation.NSFileCoordinator.coordinateReadingItemAtURL_options_error_byAccessor_,
18                3, b'v@')
19
20        self.assertArgIsOut(Foundation.NSFileCoordinator.coordinateWritingItemAtURL_options_error_byAccessor_, 2)
21        self.assertArgIsBlock(Foundation.NSFileCoordinator.coordinateWritingItemAtURL_options_error_byAccessor_,
22                3, b'v@')
23
24        self.assertArgIsOut(Foundation.NSFileCoordinator.coordinateReadingItemAtURL_options_writingItemAtURL_options_error_byAccessor_, 4)
25        self.assertArgIsBlock(Foundation.NSFileCoordinator.coordinateReadingItemAtURL_options_writingItemAtURL_options_error_byAccessor_,
26                5, b'v@@')
27
28        self.assertArgIsOut(Foundation.NSFileCoordinator.coordinateWritingItemAtURL_options_writingItemAtURL_options_error_byAccessor_, 4)
29        self.assertArgIsBlock(Foundation.NSFileCoordinator.coordinateWritingItemAtURL_options_writingItemAtURL_options_error_byAccessor_,
30                5, b'v@@')
31
32        self.assertArgIsOut(  Foundation.NSFileCoordinator.prepareForReadingItemsAtURLs_options_writingItemsAtURLs_options_error_byAccessor_, 4)
33        self.assertArgIsBlock(Foundation.NSFileCoordinator.prepareForReadingItemsAtURLs_options_writingItemsAtURLs_options_error_byAccessor_,
34                5, b'v@?') # FIXME: Cannot represent this completion handler!
35
36if __name__ == "__main__":
37    main()
38