1from PyObjCTools.TestSupport import * 2import objc 3import os 4 5from AppKit import * 6 7 8class TestNSWorkspace(TestCase): 9 def testInfoForFile(self): 10 ws = NSWorkspace.sharedWorkspace() 11 12 # A method with 2 output parameters, this means the result 13 # is a tuple with 3 elements (return value, param1, param2) 14 res = ws.getInfoForFile_application_type_(u'/', None, None) 15 self.assert_(isinstance(res, tuple)) 16 self.assert_(len(res) == 3) 17 self.assert_(res[0] == 1) 18 self.assert_(res[1] == u'/System/Library/CoreServices/Finder.app') 19 self.assert_(res[2] == u'') 20 21 def testConstants(self): 22 self.assertEquals(NSWorkspaceLaunchAndPrint, 2) 23 self.assertEquals(NSWorkspaceLaunchInhibitingBackgroundOnly, 0x00000080) 24 self.assertEquals(NSWorkspaceLaunchWithoutAddingToRecents, 0x00000100) 25 self.assertEquals(NSWorkspaceLaunchWithoutActivation, 0x00000200) 26 self.assertEquals(NSWorkspaceLaunchAsync, 0x00010000) 27 self.assertEquals(NSWorkspaceLaunchAllowingClassicStartup, 0x00020000) 28 self.assertEquals(NSWorkspaceLaunchPreferringClassic, 0x00040000) 29 self.assertEquals(NSWorkspaceLaunchNewInstance, 0x00080000) 30 self.assertEquals(NSWorkspaceLaunchAndHide, 0x00100000) 31 self.assertEquals(NSWorkspaceLaunchAndHideOthers, 0x00200000) 32 self.assertEquals(NSWorkspaceLaunchDefault, ( 33 NSWorkspaceLaunchAsync | NSWorkspaceLaunchAllowingClassicStartup)) 34 35 self.assertEquals(NSExcludeQuickDrawElementsIconCreationOption, 1 << 1) 36 self.assertEquals(NSExclude10_4ElementsIconCreationOption, 1 << 2) 37 38 self.failUnless(isinstance(NSWorkspaceDidLaunchApplicationNotification, unicode)) 39 self.failUnless(isinstance(NSWorkspaceDidMountNotification, unicode)) 40 self.failUnless(isinstance(NSWorkspaceDidPerformFileOperationNotification, unicode)) 41 self.failUnless(isinstance(NSWorkspaceDidTerminateApplicationNotification, unicode)) 42 self.failUnless(isinstance(NSWorkspaceDidUnmountNotification, unicode)) 43 self.failUnless(isinstance(NSWorkspaceWillLaunchApplicationNotification, unicode)) 44 self.failUnless(isinstance(NSWorkspaceWillPowerOffNotification, unicode)) 45 self.failUnless(isinstance(NSWorkspaceWillUnmountNotification, unicode)) 46 self.failUnless(isinstance(NSWorkspaceWillSleepNotification, unicode)) 47 self.failUnless(isinstance(NSWorkspaceDidWakeNotification, unicode)) 48 self.failUnless(isinstance(NSWorkspaceSessionDidBecomeActiveNotification, unicode)) 49 self.failUnless(isinstance(NSWorkspaceSessionDidResignActiveNotification, unicode)) 50 self.failUnless(isinstance(NSPlainFileType, unicode)) 51 self.failUnless(isinstance(NSDirectoryFileType, unicode)) 52 self.failUnless(isinstance(NSApplicationFileType, unicode)) 53 self.failUnless(isinstance(NSFilesystemFileType, unicode)) 54 self.failUnless(isinstance(NSShellCommandFileType, unicode)) 55 self.failUnless(isinstance(NSWorkspaceMoveOperation, unicode)) 56 self.failUnless(isinstance(NSWorkspaceCopyOperation, unicode)) 57 self.failUnless(isinstance(NSWorkspaceLinkOperation, unicode)) 58 self.failUnless(isinstance(NSWorkspaceCompressOperation, unicode)) 59 self.failUnless(isinstance(NSWorkspaceDecompressOperation, unicode)) 60 self.failUnless(isinstance(NSWorkspaceEncryptOperation, unicode)) 61 self.failUnless(isinstance(NSWorkspaceDecryptOperation, unicode)) 62 self.failUnless(isinstance(NSWorkspaceDestroyOperation, unicode)) 63 self.failUnless(isinstance(NSWorkspaceRecycleOperation, unicode)) 64 self.failUnless(isinstance(NSWorkspaceDuplicateOperation, unicode)) 65 66 def testMethods(self): 67 self.failUnlessResultIsBOOL(NSWorkspace.openFile_) 68 self.failUnlessResultIsBOOL(NSWorkspace.openFile_withApplication_) 69 self.failUnlessResultIsBOOL(NSWorkspace.openFile_withApplication_andDeactivate_) 70 self.failUnlessArgIsBOOL(NSWorkspace.openFile_withApplication_andDeactivate_, 2) 71 self.failUnlessResultIsBOOL(NSWorkspace.openTempFile_) 72 self.failUnlessResultIsBOOL(NSWorkspace.openFile_fromImage_at_inView_) 73 self.failUnlessResultIsBOOL(NSWorkspace.openURL_) 74 self.failUnlessResultIsBOOL(NSWorkspace.launchApplication_) 75 self.failUnlessResultIsBOOL(NSWorkspace.launchApplication_showIcon_autolaunch_) 76 self.failUnlessArgIsBOOL(NSWorkspace.launchApplication_showIcon_autolaunch_, 1) 77 self.failUnlessArgIsBOOL(NSWorkspace.launchApplication_showIcon_autolaunch_, 2) 78 self.failUnlessResultIsBOOL(NSWorkspace.selectFile_inFileViewerRootedAtPath_) 79 self.failUnlessResultIsBOOL(NSWorkspace.fileSystemChanged) 80 self.failUnlessResultIsBOOL(NSWorkspace.userDefaultsChanged) 81 self.failUnlessResultIsBOOL(NSWorkspace.getInfoForFile_application_type_) 82 self.failUnlessArgIsOut(NSWorkspace.getInfoForFile_application_type_, 1) 83 self.failUnlessArgIsOut(NSWorkspace.getInfoForFile_application_type_, 2) 84 self.failUnlessResultIsBOOL(NSWorkspace.isFilePackageAtPath_) 85 self.failUnlessResultIsBOOL(NSWorkspace.setIcon_forFile_options_) 86 self.failUnlessResultIsBOOL(NSWorkspace.getFileSystemInfoForPath_isRemovable_isWritable_isUnmountable_description_type_) 87 self.failUnlessArgHasType(NSWorkspace.getFileSystemInfoForPath_isRemovable_isWritable_isUnmountable_description_type_, 1, 'o^' + objc._C_NSBOOL) 88 self.failUnlessArgHasType(NSWorkspace.getFileSystemInfoForPath_isRemovable_isWritable_isUnmountable_description_type_, 2, 'o^' + objc._C_NSBOOL) 89 self.failUnlessArgHasType(NSWorkspace.getFileSystemInfoForPath_isRemovable_isWritable_isUnmountable_description_type_, 3, 'o^' + objc._C_NSBOOL) 90 self.failUnlessArgIsOut(NSWorkspace.getFileSystemInfoForPath_isRemovable_isWritable_isUnmountable_description_type_, 4) 91 self.failUnlessArgIsOut(NSWorkspace.getFileSystemInfoForPath_isRemovable_isWritable_isUnmountable_description_type_, 5) 92 self.failUnlessResultIsBOOL(NSWorkspace.performFileOperation_source_destination_files_tag_) 93 self.failUnlessArgIsOut(NSWorkspace.performFileOperation_source_destination_files_tag_, 4) 94 self.failUnlessResultIsBOOL(NSWorkspace.unmountAndEjectDeviceAtPath_) 95 self.failUnlessResultIsBOOL(NSWorkspace.launchAppWithBundleIdentifier_options_additionalEventParamDescriptor_launchIdentifier_) 96 self.failUnlessArgIsOut(NSWorkspace.launchAppWithBundleIdentifier_options_additionalEventParamDescriptor_launchIdentifier_, 3) 97 self.failUnlessResultIsBOOL(NSWorkspace.openURLs_withAppBundleIdentifier_options_additionalEventParamDescriptor_launchIdentifiers_) 98 self.failUnlessArgIsOut(NSWorkspace.openURLs_withAppBundleIdentifier_options_additionalEventParamDescriptor_launchIdentifiers_, 4) 99 self.failUnlessArgIsOut(NSWorkspace.typeOfFile_error_, 1) 100 self.failUnlessResultIsBOOL(NSWorkspace.filenameExtension_isValidForType_) 101 self.failUnlessResultIsBOOL(NSWorkspace.type_conformsToType_) 102 103 104if __name__ == '__main__': 105 main( ) 106