1from PyObjCTools.TestSupport import * 2 3from objc import * 4from Foundation import * 5 6try: 7 unicode 8except NameError: 9 unicode = str 10 11class TestNSPathUtilities(TestCase): 12 def testSearchPaths(self): 13 self.assert_( 14 NSSearchPathForDirectoriesInDomains( NSAllLibrariesDirectory, NSAllDomainsMask, NO ), 15 "NSSearchPathForDirectoriesInDomains() failed to return anything." ) 16 17 self.assertArgIsBOOL(NSSearchPathForDirectoriesInDomains, 2) 18 19 def testTrue(self): 20 for boolVal in (1, 1==1, YES, -1): 21 self.assert_( 22 NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask, boolVal)[0][0] == '/', boolVal) 23 24 def testFalse(self): 25 for boolVal in (0, 1!=1, NO): 26 self.assert_( 27 NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask, boolVal)[0][0] != '/', boolVal) 28 29 def testFunctions(self): 30 s = NSUserName() 31 self.assertIsInstance(s, unicode) 32 s = NSFullUserName() 33 self.assertIsInstance(s, unicode) 34 s = NSHomeDirectory() 35 self.assertIsInstance(s, unicode) 36 s = NSHomeDirectoryForUser('root') 37 self.assertIsInstance(s, unicode) 38 s = NSTemporaryDirectory() 39 self.assertIsInstance(s, unicode) 40 s = NSOpenStepRootDirectory() 41 self.assertIsInstance(s, unicode) 42 43 def testConstants(self): 44 self.assertEqual(NSApplicationDirectory, 1) 45 self.assertEqual(NSDemoApplicationDirectory, 2) 46 self.assertEqual(NSDeveloperApplicationDirectory, 3) 47 self.assertEqual(NSAdminApplicationDirectory, 4) 48 self.assertEqual(NSLibraryDirectory, 5) 49 self.assertEqual(NSDeveloperDirectory, 6) 50 self.assertEqual(NSUserDirectory, 7) 51 self.assertEqual(NSDocumentationDirectory, 8) 52 self.assertEqual(NSDocumentDirectory, 9) 53 self.assertEqual(NSCoreServiceDirectory, 10) 54 self.assertEqual(NSDesktopDirectory, 12) 55 self.assertEqual(NSCachesDirectory, 13) 56 self.assertEqual(NSApplicationSupportDirectory, 14) 57 self.assertEqual(NSDownloadsDirectory, 15) 58 self.assertEqual(NSAllApplicationsDirectory, 100) 59 self.assertEqual(NSAllLibrariesDirectory, 101) 60 61 self.assertEqual(NSUserDomainMask, 1) 62 self.assertEqual(NSLocalDomainMask, 2) 63 self.assertEqual(NSNetworkDomainMask, 4) 64 self.assertEqual(NSSystemDomainMask, 8) 65 self.assertEqual(NSAllDomainsMask, 0x0ffff) 66 67 @min_os_level('10.6') 68 def testConstants10_6(self): 69 self.assertEqual(NSAutosavedInformationDirectory, 11) 70 71 self.assertEqual(NSInputMethodsDirectory, 16) 72 self.assertEqual(NSMoviesDirectory, 17) 73 self.assertEqual(NSMusicDirectory, 18) 74 self.assertEqual(NSPicturesDirectory, 19) 75 self.assertEqual(NSPrinterDescriptionDirectory, 20) 76 self.assertEqual(NSSharedPublicDirectory, 21) 77 self.assertEqual(NSPreferencePanesDirectory, 22) 78 self.assertEqual(NSItemReplacementDirectory, 99) 79 80 @min_os_level('10.8') 81 def testConstants10_8(self): 82 self.assertEqual(NSApplicationScriptsDirectory, 23) 83 self.assertEqual(NSTrashDirectory, 102) 84 85 def testMethods(self): 86 self.assertResultIsBOOL(NSString.isAbsolutePath) 87 self.assertArgIsOut(NSString.completePathIntoString_caseSensitive_matchesIntoArray_filterTypes_, 0) 88 self.assertArgIsBOOL(NSString.completePathIntoString_caseSensitive_matchesIntoArray_filterTypes_, 1) 89 self.assertArgIsOut(NSString.completePathIntoString_caseSensitive_matchesIntoArray_filterTypes_, 2) 90 self.assertResultIsBOOL(NSString.getFileSystemRepresentation_maxLength_) 91 self.assertArgHasType(NSString.getFileSystemRepresentation_maxLength_, 0, b'o^' + objc._C_CHAR_AS_TEXT) 92 self.assertArgSizeInArg(NSString.getFileSystemRepresentation_maxLength_, 0, 1) 93 94if __name__ == '__main__': 95 main( ) 96