1 2from PyObjCTools.TestSupport import * 3from AppKit import * 4 5class TestNSDocument (TestCase): 6 def testConstants(self): 7 self.assertEqual(NSChangeDone, 0) 8 self.assertEqual(NSChangeUndone, 1) 9 self.assertEqual(NSChangeCleared, 2) 10 self.assertEqual(NSChangeRedone, 5) 11 self.assertEqual(NSChangeReadOtherContents, 3) 12 self.assertEqual(NSChangeAutosaved, 4) 13 14 self.assertEqual(NSSaveOperation, 0) 15 self.assertEqual(NSSaveAsOperation, 1) 16 self.assertEqual(NSSaveToOperation, 2) 17 self.assertEqual(NSAutosaveOperation, 3) 18 19 @min_os_level('10.7') 20 def testConstants10_7(self): 21 self.assertEqual(NSChangeDiscardable, 256) 22 self.assertEqual(NSAutosaveInPlaceOperation, 4) 23 self.assertEqual(NSAutosaveElsewhereOperation, 3) 24 25 @min_os_level('10.8') 26 def testConstants10_8(self): 27 self.assertEqual(NSAutosaveAsOperation, 5) 28 29 30 def testMethods(self): 31 self.assertArgIsOut(NSDocument.initWithType_error_, 1) 32 self.assertArgIsOut(NSDocument.initWithContentsOfURL_ofType_error_, 2) 33 self.assertArgIsOut(NSDocument.initForURL_withContentsOfURL_ofType_error_, 3) 34 self.assertResultIsBOOL(NSDocument.revertToContentsOfURL_ofType_error_) 35 self.assertArgIsOut(NSDocument.revertToContentsOfURL_ofType_error_, 2) 36 self.assertResultIsBOOL(NSDocument.readFromURL_ofType_error_) 37 self.assertArgIsOut(NSDocument.readFromURL_ofType_error_, 2) 38 self.assertResultIsBOOL(NSDocument.readFromFileWrapper_ofType_error_) 39 self.assertArgIsOut(NSDocument.readFromFileWrapper_ofType_error_, 2) 40 self.assertResultIsBOOL(NSDocument.readFromData_ofType_error_) 41 self.assertArgIsOut(NSDocument.readFromData_ofType_error_, 2) 42 self.assertResultIsBOOL(NSDocument.writeToURL_ofType_error_) 43 self.assertArgIsOut(NSDocument.writeToURL_ofType_error_, 2) 44 self.assertArgIsOut(NSDocument.fileWrapperOfType_error_, 1) 45 self.assertArgIsOut(NSDocument.dataOfType_error_, 1) 46 self.assertResultIsBOOL(NSDocument.writeSafelyToURL_ofType_forSaveOperation_error_) 47 self.assertArgIsOut(NSDocument.writeSafelyToURL_ofType_forSaveOperation_error_, 3) 48 self.assertResultIsBOOL(NSDocument.writeToURL_ofType_forSaveOperation_originalContentsURL_error_) 49 self.assertArgIsOut(NSDocument.writeToURL_ofType_forSaveOperation_originalContentsURL_error_, 4) 50 self.assertArgIsOut(NSDocument.fileAttributesToWriteToURL_ofType_forSaveOperation_originalContentsURL_error_, 4) 51 self.assertResultIsBOOL(NSDocument.keepBackupFile) 52 self.assertArgIsSEL(NSDocument.saveDocumentWithDelegate_didSaveSelector_contextInfo_, 1, b"v@:@"+objc._C_NSBOOL+b"^v") 53 self.assertArgHasType(NSDocument.saveDocumentWithDelegate_didSaveSelector_contextInfo_, 2, b"^v") 54 self.assertArgIsSEL(NSDocument.runModalSavePanelForSaveOperation_delegate_didSaveSelector_contextInfo_, 2, b"v@:@"+objc._C_NSBOOL+b"^v") 55 self.assertArgHasType(NSDocument.runModalSavePanelForSaveOperation_delegate_didSaveSelector_contextInfo_, 3, b"^v") 56 self.assertResultIsBOOL(NSDocument.shouldRunSavePanelWithAccessoryView) 57 self.assertResultIsBOOL(NSDocument.prepareSavePanel_) 58 self.assertResultIsBOOL(NSDocument.fileNameExtensionWasHiddenInLastRunSavePanel) 59 self.assertArgIsSEL(NSDocument.saveToURL_ofType_forSaveOperation_delegate_didSaveSelector_contextInfo_, 4, b"v@:@"+objc._C_NSBOOL+b"^v") 60 self.assertArgHasType(NSDocument.saveToURL_ofType_forSaveOperation_delegate_didSaveSelector_contextInfo_, 5, b"^v") 61 self.assertResultIsBOOL(NSDocument.saveToURL_ofType_forSaveOperation_error_) 62 self.assertArgIsOut(NSDocument.saveToURL_ofType_forSaveOperation_error_, 3) 63 self.assertResultIsBOOL(NSDocument.hasUnautosavedChanges) 64 self.assertArgIsSEL(NSDocument.autosaveDocumentWithDelegate_didAutosaveSelector_contextInfo_, 1, b"v@:@"+objc._C_NSBOOL+b"^v") 65 self.assertArgHasType(NSDocument.autosaveDocumentWithDelegate_didAutosaveSelector_contextInfo_, 2, b"^v") 66 self.assertArgIsSEL(NSDocument.canCloseDocumentWithDelegate_shouldCloseSelector_contextInfo_, 1, b"v@:@"+objc._C_NSBOOL+b"^v") 67 self.assertArgHasType(NSDocument.canCloseDocumentWithDelegate_shouldCloseSelector_contextInfo_, 2, b"^v") 68 self.assertArgIsSEL(NSDocument.runModalPageLayoutWithPrintInfo_delegate_didRunSelector_contextInfo_, 2, b"v@:@"+objc._C_NSBOOL+b"^v") 69 self.assertArgHasType(NSDocument.runModalPageLayoutWithPrintInfo_delegate_didRunSelector_contextInfo_, 3, b"^v") 70 self.assertResultIsBOOL(NSDocument.preparePageLayout_) 71 self.assertResultIsBOOL(NSDocument.shouldChangePrintInfo_) 72 self.assertArgIsSEL(NSDocument.printDocumentWithSettings_showPrintPanel_delegate_didPrintSelector_contextInfo_, 3, b"v@:@"+objc._C_NSBOOL+b"^v") 73 self.assertArgHasType(NSDocument.printDocumentWithSettings_showPrintPanel_delegate_didPrintSelector_contextInfo_, 4, b"^v") 74 self.assertArgIsOut(NSDocument.printOperationWithSettings_error_, 1) 75 self.assertArgIsSEL(NSDocument.runModalPrintOperation_delegate_didRunSelector_contextInfo_, 2, b"v@:@"+objc._C_NSBOOL+b"^v") 76 self.assertArgHasType(NSDocument.runModalPrintOperation_delegate_didRunSelector_contextInfo_, 3, b"^v") 77 self.assertResultIsBOOL(NSDocument.isDocumentEdited) 78 self.assertResultIsBOOL(NSDocument.hasUndoManager) 79 self.assertArgIsBOOL(NSDocument.setHasUndoManager_, 0) 80 self.assertResultIsBOOL(NSDocument.presentError_) 81 self.assertArgIsSEL(NSDocument.presentError_modalForWindow_delegate_didPresentSelector_contextInfo_, 3, b"v@:"+objc._C_NSBOOL+b"^v") 82 self.assertArgHasType(NSDocument.presentError_modalForWindow_delegate_didPresentSelector_contextInfo_, 4, b"^v") 83 self.assertArgIsSEL(NSDocument.shouldCloseWindowController_delegate_shouldCloseSelector_contextInfo_, 2, b"v@:@"+objc._C_NSBOOL+b"^v") 84 self.assertArgHasType(NSDocument.shouldCloseWindowController_delegate_shouldCloseSelector_contextInfo_, 3, b"^v") 85 self.assertResultIsBOOL(NSDocument.isNativeType_) 86 self.assertResultIsBOOL(NSDocument.validateUserInterfaceItem_) 87 self.assertResultIsBOOL(NSDocument.loadDataRepresentation_ofType_) 88 self.assertArgIsBOOL(NSDocument.printShowingPrintPanel_, 0) 89 self.assertResultIsBOOL(NSDocument.readFromFile_ofType_) 90 self.assertResultIsBOOL(NSDocument.readFromURL_ofType_) 91 self.assertResultIsBOOL(NSDocument.revertToSavedFromFile_ofType_) 92 self.assertResultIsBOOL(NSDocument.revertToSavedFromURL_ofType_) 93 self.assertResultIsBOOL(NSDocument.writeToFile_ofType_) 94 self.assertResultIsBOOL(NSDocument.writeToFile_ofType_originalFile_saveOperation_) 95 self.assertResultIsBOOL(NSDocument.writeToURL_ofType_) 96 self.assertResultIsBOOL(NSDocument.writeWithBackupToFile_ofType_saveOperation_) 97 self.assertArgIsSEL(NSDocument.saveToFile_saveOperation_delegate_didSaveSelector_contextInfo_, 3, b'v@:@'+objc._C_NSBOOL+b'^v') 98 self.assertArgHasType(NSDocument.saveToFile_saveOperation_delegate_didSaveSelector_contextInfo_, 4, b'^v') 99 100 101 @min_os_level('10.6') 102 def testMethods10_6(self): 103 self.assertResultIsBOOL(NSDocument.canConcurrentlyReadDocumentsOfType_) 104 105 @min_os_level('10.7') 106 def testMethods10_7(self): 107 self.assertArgIsBOOL(NSDocument.performActivityWithSynchronousWaiting_usingBlock_, 0) 108 self.assertArgIsBlock(NSDocument.performActivityWithSynchronousWaiting_usingBlock_, 1, b'v') 109 self.assertArgIsBlock(NSDocument.continueActivityUsingBlock_, 0, b'v') 110 self.assertArgIsBlock(NSDocument.continueAsynchronousWorkOnMainThreadUsingBlock_, 0, b'v') 111 self.assertArgIsBlock(NSDocument.performSynchronousFileAccessUsingBlock_, 0, b'v') 112 113 self.assertArgIsBlock(NSDocument.performAsynchronousFileAccessUsingBlock_, 0, b'v@?') #FIXME: block has a block argument 114 115 self.assertResultIsBOOL(NSDocument.isEntireFileLoaded) 116 self.assertResultIsBOOL(NSDocument.autosavingIsImplicitlyCancellable) 117 118 self.assertArgIsBlock(NSDocument.saveToURL_ofType_forSaveOperation_completionHandler_, 3, b'v@') 119 self.assertResultIsBOOL(NSDocument.canAsynchronouslyWriteToURL_ofType_forSaveOperation_) 120 self.assertResultIsBOOL(NSDocument.checkAutosavingSafetyAndReturnError_) 121 self.assertArgIsOut(NSDocument.checkAutosavingSafetyAndReturnError_, 0) 122 self.assertArgIsBOOL(NSDocument.autosaveWithImplicitCancellability_completionHandler_, 0) 123 self.assertArgIsBlock(NSDocument.autosaveWithImplicitCancellability_completionHandler_, 1, b'v@') 124 125 self.assertResultIsBOOL(NSDocument.autosavesInPlace) 126 self.assertResultIsBOOL(NSDocument.preservesVersions) 127 128 self.assertArgIsSEL(NSDocument.duplicateDocumentWithDelegate_didDuplicateSelector_contextInfo_, 1, b'v@' + objc._C_NSBOOL + b'^v') 129 self.assertArgIsOut(NSDocument.duplicateAndReturnError_, 0) 130 self.assertResultIsBOOL(NSDocument.isInViewingMode) 131 132 @min_os_level('10.8') 133 def testMethods10_8(self): 134 self.assertArgIsBOOL(NSDocument.setDraft_, 0) 135 self.assertResultIsBOOL(NSDocument.isDraft) 136 self.assertResultIsBOOL(NSDocument.autosavesDrafts) 137 138 self.assertArgIsBlock(NSDocument.moveDocumentWithCompletionHandler_, 0, 139 b'v' + objc._C_NSBOOL) 140 self.assertArgIsBlock(NSDocument.moveToURL_completionHandler_, 1, 141 b'v' + objc._C_NSBOOL) 142 self.assertArgIsBlock(NSDocument.lockDocumentWithCompletionHandler_, 0, 143 b'v' + objc._C_NSBOOL) 144 self.assertArgIsBlock(NSDocument.lockWithCompletionHandler_, 0, 145 b'v@') 146 self.assertArgIsBlock(NSDocument.unlockDocumentWithCompletionHandler_, 0, 147 b'v' + objc._C_NSBOOL) 148 self.assertArgIsBlock(NSDocument.unlockWithCompletionHandler_, 0, 149 b'v@') 150 self.assertResultIsBOOL(NSDocument.isLocked) 151 self.assertResultIsBOOL(NSDocument.usesUbiquitousStorage) 152 153if __name__ == "__main__": 154 main() 155