1from Foundation import *
2from PyObjCTools.TestSupport import *
3
4class FoundationErrorsTest (TestCase):
5    def testConstants(self):
6        self.assertEqual(NSFileNoSuchFileError, 4)
7        self.assertEqual(NSFileLockingError, 255)
8        self.assertEqual(NSFileReadUnknownError, 256)
9        self.assertEqual(NSFileReadNoPermissionError, 257)
10        self.assertEqual(NSFileReadInvalidFileNameError, 258)
11        self.assertEqual(NSFileReadCorruptFileError, 259)
12        self.assertEqual(NSFileReadInapplicableStringEncodingError, 261)
13        self.assertEqual(NSFileReadUnsupportedSchemeError, 262)
14        self.assertEqual(NSFileReadTooLargeError, 263)
15        self.assertEqual(NSFileReadUnknownStringEncodingError, 264)
16        self.assertEqual(NSFileWriteUnknownError, 512)
17        self.assertEqual(NSFileWriteNoPermissionError, 513)
18        self.assertEqual(NSFileWriteInvalidFileNameError, 514)
19        self.assertEqual(NSFileWriteInapplicableStringEncodingError, 517)
20        self.assertEqual(NSFileWriteUnsupportedSchemeError, 518)
21        self.assertEqual(NSFileWriteOutOfSpaceError, 640)
22        self.assertEqual(NSKeyValueValidationError, 1024)
23        self.assertEqual(NSUserCancelledError, 3072)
24        self.assertEqual(NSExecutableNotLoadableError, 3584)
25        self.assertEqual(NSExecutableArchitectureMismatchError, 3585)
26        self.assertEqual(NSExecutableRuntimeMismatchError, 3586)
27        self.assertEqual(NSExecutableLoadError, 3587)
28        self.assertEqual(NSExecutableLinkError, 3588)
29        self.assertEqual(NSFileErrorMinimum, 0)
30        self.assertEqual(NSFileErrorMaximum, 1023)
31        self.assertEqual(NSValidationErrorMinimum, 1024)
32        self.assertEqual(NSValidationErrorMaximum, 2047)
33        self.assertEqual(NSExecutableErrorMinimum, 3584)
34        self.assertEqual(NSExecutableErrorMaximum, 3839)
35        self.assertEqual(NSFormattingErrorMinimum, 2048)
36        self.assertEqual(NSFormattingErrorMaximum, 2559)
37        self.assertEqual(NSFormattingError, 2048)
38
39    @min_os_level('10.6')
40    def testConstants10_6(self):
41        self.assertEqual(NSFileWriteVolumeReadOnlyError, 642)
42
43        self.assertEqual(NSPropertyListReadCorruptError, 3840)
44        self.assertEqual(NSPropertyListReadUnknownVersionError, 3841)
45        self.assertEqual(NSPropertyListReadStreamError, 3842)
46        self.assertEqual(NSPropertyListWriteStreamError, 3851)
47        self.assertEqual(NSPropertyListErrorMinimum, 3840)
48        self.assertEqual(NSPropertyListErrorMaximum, 4095)
49
50    @min_os_level('10.7')
51    def testConstants10_7(self):
52        self.assertEqual(NSFileWriteFileExistsError, 516)
53
54    @min_os_level('10.8')
55    def testConstants10_8(self):
56        self.assertEqual(NSFeatureUnsupportedError, 3328)
57        self.assertEqual(NSXPCConnectionInterrupted, 4097)
58        self.assertEqual(NSXPCConnectionInvalid, 4099)
59        self.assertEqual(NSXPCConnectionReplyInvalid, 4101)
60        self.assertEqual(NSXPCConnectionErrorMinimum, 4096)
61        self.assertEqual(NSXPCConnectionErrorMaximum, 4224)
62
63if __name__ == "__main__":
64    main()
65