1
2from PyObjCTools.TestSupport import *
3from AppKit import *
4
5class TestNSDocument (TestCase):
6    def testConstants(self):
7        self.failUnlessEqual(NSChangeDone, 0)
8        self.failUnlessEqual(NSChangeUndone, 1)
9        self.failUnlessEqual(NSChangeCleared, 2)
10        self.failUnlessEqual(NSChangeRedone, 5)
11        self.failUnlessEqual(NSChangeReadOtherContents, 3)
12        self.failUnlessEqual(NSChangeAutosaved, 4)
13
14        self.failUnlessEqual(NSSaveOperation, 0)
15        self.failUnlessEqual(NSSaveAsOperation, 1)
16        self.failUnlessEqual(NSSaveToOperation, 2)
17        self.failUnlessEqual(NSAutosaveOperation, 3)
18
19    def testMethods(self):
20        self.failUnlessArgIsOut(NSDocument.initWithType_error_, 1)
21        self.failUnlessArgIsOut(NSDocument.initWithContentsOfURL_ofType_error_, 2)
22        self.failUnlessArgIsOut(NSDocument.initForURL_withContentsOfURL_ofType_error_, 3)
23        self.failUnlessResultIsBOOL(NSDocument.revertToContentsOfURL_ofType_error_)
24        self.failUnlessArgIsOut(NSDocument.revertToContentsOfURL_ofType_error_, 2)
25        self.failUnlessResultIsBOOL(NSDocument.readFromURL_ofType_error_)
26        self.failUnlessArgIsOut(NSDocument.readFromURL_ofType_error_, 2)
27        self.failUnlessResultIsBOOL(NSDocument.readFromFileWrapper_ofType_error_)
28        self.failUnlessArgIsOut(NSDocument.readFromFileWrapper_ofType_error_, 2)
29        self.failUnlessResultIsBOOL(NSDocument.readFromData_ofType_error_)
30        self.failUnlessArgIsOut(NSDocument.readFromData_ofType_error_, 2)
31        self.failUnlessResultIsBOOL(NSDocument.writeToURL_ofType_error_)
32        self.failUnlessArgIsOut(NSDocument.writeToURL_ofType_error_, 2)
33        self.failUnlessArgIsOut(NSDocument.fileWrapperOfType_error_, 1)
34        self.failUnlessArgIsOut(NSDocument.dataOfType_error_, 1)
35        self.failUnlessResultIsBOOL(NSDocument.writeSafelyToURL_ofType_forSaveOperation_error_)
36        self.failUnlessArgIsOut(NSDocument.writeSafelyToURL_ofType_forSaveOperation_error_, 3)
37        self.failUnlessResultIsBOOL(NSDocument.writeToURL_ofType_forSaveOperation_originalContentsURL_error_)
38        self.failUnlessArgIsOut(NSDocument.writeToURL_ofType_forSaveOperation_originalContentsURL_error_, 4)
39        self.failUnlessArgIsOut(NSDocument.fileAttributesToWriteToURL_ofType_forSaveOperation_originalContentsURL_error_, 4)
40        self.failUnlessResultIsBOOL(NSDocument.keepBackupFile)
41        self.failUnlessArgIsSEL(NSDocument.saveDocumentWithDelegate_didSaveSelector_contextInfo_, 1, "v@:@"+objc._C_NSBOOL+"^v")
42        self.failUnlessArgHasType(NSDocument.saveDocumentWithDelegate_didSaveSelector_contextInfo_, 2, "^v")
43        self.failUnlessArgIsSEL(NSDocument.runModalSavePanelForSaveOperation_delegate_didSaveSelector_contextInfo_, 2, "v@:@"+objc._C_NSBOOL+"^v")
44        self.failUnlessArgHasType(NSDocument.runModalSavePanelForSaveOperation_delegate_didSaveSelector_contextInfo_, 3, "^v")
45        self.failUnlessResultIsBOOL(NSDocument.shouldRunSavePanelWithAccessoryView)
46        self.failUnlessResultIsBOOL(NSDocument.prepareSavePanel_)
47        self.failUnlessResultIsBOOL(NSDocument.fileNameExtensionWasHiddenInLastRunSavePanel)
48        self.failUnlessArgIsSEL(NSDocument.saveToURL_ofType_forSaveOperation_delegate_didSaveSelector_contextInfo_, 4, "v@:@"+objc._C_NSBOOL+"^v")
49        self.failUnlessArgHasType(NSDocument.saveToURL_ofType_forSaveOperation_delegate_didSaveSelector_contextInfo_, 5, "^v")
50        self.failUnlessResultIsBOOL(NSDocument.saveToURL_ofType_forSaveOperation_error_)
51        self.failUnlessArgIsOut(NSDocument.saveToURL_ofType_forSaveOperation_error_, 3)
52        self.failUnlessResultIsBOOL(NSDocument.hasUnautosavedChanges)
53        self.failUnlessArgIsSEL(NSDocument.autosaveDocumentWithDelegate_didAutosaveSelector_contextInfo_, 1, "v@:@"+objc._C_NSBOOL+"^v")
54        self.failUnlessArgHasType(NSDocument.autosaveDocumentWithDelegate_didAutosaveSelector_contextInfo_, 2, "^v")
55        self.failUnlessArgIsSEL(NSDocument.canCloseDocumentWithDelegate_shouldCloseSelector_contextInfo_, 1, "v@:@"+objc._C_NSBOOL+"^v")
56        self.failUnlessArgHasType(NSDocument.canCloseDocumentWithDelegate_shouldCloseSelector_contextInfo_, 2, "^v")
57        self.failUnlessArgIsSEL(NSDocument.runModalPageLayoutWithPrintInfo_delegate_didRunSelector_contextInfo_, 2, "v@:@"+objc._C_NSBOOL+"^v")
58        self.failUnlessArgHasType(NSDocument.runModalPageLayoutWithPrintInfo_delegate_didRunSelector_contextInfo_, 3, "^v")
59        self.failUnlessResultIsBOOL(NSDocument.preparePageLayout_)
60        self.failUnlessResultIsBOOL(NSDocument.shouldChangePrintInfo_)
61        self.failUnlessArgIsSEL(NSDocument.printDocumentWithSettings_showPrintPanel_delegate_didPrintSelector_contextInfo_, 3, "v@:@"+objc._C_NSBOOL+"^v")
62        self.failUnlessArgHasType(NSDocument.printDocumentWithSettings_showPrintPanel_delegate_didPrintSelector_contextInfo_, 4, "^v")
63        self.failUnlessArgIsOut(NSDocument.printOperationWithSettings_error_, 1)
64        self.failUnlessArgIsSEL(NSDocument.runModalPrintOperation_delegate_didRunSelector_contextInfo_, 2, "v@:@"+objc._C_NSBOOL+"^v")
65        self.failUnlessArgHasType(NSDocument.runModalPrintOperation_delegate_didRunSelector_contextInfo_, 3, "^v")
66        self.failUnlessResultIsBOOL(NSDocument.isDocumentEdited)
67        self.failUnlessResultIsBOOL(NSDocument.hasUndoManager)
68        self.failUnlessArgIsBOOL(NSDocument.setHasUndoManager_, 0)
69        self.failUnlessResultIsBOOL(NSDocument.presentError_)
70        self.failUnlessArgIsSEL(NSDocument.presentError_modalForWindow_delegate_didPresentSelector_contextInfo_, 3, "v@:"+objc._C_NSBOOL+"^v")
71        self.failUnlessArgHasType(NSDocument.presentError_modalForWindow_delegate_didPresentSelector_contextInfo_, 4, "^v")
72        self.failUnlessArgIsSEL(NSDocument.shouldCloseWindowController_delegate_shouldCloseSelector_contextInfo_, 2, "v@:@"+objc._C_NSBOOL+"^v")
73        self.failUnlessArgHasType(NSDocument.shouldCloseWindowController_delegate_shouldCloseSelector_contextInfo_, 3, "^v")
74        self.failUnlessResultIsBOOL(NSDocument.isNativeType_)
75        self.failUnlessResultIsBOOL(NSDocument.validateUserInterfaceItem_)
76        self.failUnlessResultIsBOOL(NSDocument.loadDataRepresentation_ofType_)
77        self.failUnlessArgIsBOOL(NSDocument.printShowingPrintPanel_, 0)
78        self.failUnlessResultIsBOOL(NSDocument.readFromFile_ofType_)
79        self.failUnlessResultIsBOOL(NSDocument.readFromURL_ofType_)
80        self.failUnlessResultIsBOOL(NSDocument.revertToSavedFromFile_ofType_)
81        self.failUnlessResultIsBOOL(NSDocument.revertToSavedFromURL_ofType_)
82        self.failUnlessResultIsBOOL(NSDocument.writeToFile_ofType_)
83        self.failUnlessResultIsBOOL(NSDocument.writeToFile_ofType_originalFile_saveOperation_)
84        self.failUnlessResultIsBOOL(NSDocument.writeToURL_ofType_)
85        self.failUnlessResultIsBOOL(NSDocument.writeWithBackupToFile_ofType_saveOperation_)
86        self.failUnlessArgIsSEL(NSDocument.saveToFile_saveOperation_delegate_didSaveSelector_contextInfo_, 3, 'v@:@'+objc._C_NSBOOL+'^v')
87        self.failUnlessArgHasType(NSDocument.saveToFile_saveOperation_delegate_didSaveSelector_contextInfo_, 4, '^v')
88
89if __name__ == "__main__":
90    main()
91