1from PyObjCTools.TestSupport import * 2from AppKit import * 3from Quartz.CoreGraphics import * 4 5class TestNSWindowHelper (NSObject): 6 def windowShouldClose_(self, w): return 1 7 def windowWillResize_toSize_(self, w, a): return 1 8 def windowWillUseStandardFrame_defaultFrame_(self, w, a): return 1 9 def windowShouldZoom_toFrame_(self, w, a): return 1 10 def window_willPositionSheet_usingRect_(self, w, a, b): return 1 11 def window_shouldPopUpDocumentPathMenu_(self, w, a): return 1 12 def window_shouldDragDocumentWithEvent_from_withPasteboard_(self, w, a, b, c): return 1 13 14class TestNSWindow (TestCase): 15 def testConstants(self): 16 self.failUnlessEqual(NSBorderlessWindowMask, 0) 17 self.failUnlessEqual(NSTitledWindowMask, 1 << 0) 18 self.failUnlessEqual(NSClosableWindowMask, 1 << 1) 19 self.failUnlessEqual(NSMiniaturizableWindowMask, 1 << 2) 20 self.failUnlessEqual(NSResizableWindowMask, 1 << 3) 21 22 self.failUnlessEqual(NSTexturedBackgroundWindowMask, 1 << 8) 23 24 self.failUnlessEqual(NSUnscaledWindowMask, 1 << 11) 25 26 self.failUnlessEqual(NSUnifiedTitleAndToolbarWindowMask, 1 << 12) 27 28 self.failUnlessEqual(NSDisplayWindowRunLoopOrdering, 600000) 29 self.failUnlessEqual(NSResetCursorRectsRunLoopOrdering, 700000) 30 31 self.failUnlessEqual(NSWindowSharingNone, 0) 32 self.failUnlessEqual(NSWindowSharingReadOnly, 1) 33 self.failUnlessEqual(NSWindowSharingReadWrite, 2) 34 35 self.failUnlessEqual(NSWindowBackingLocationDefault, 0) 36 self.failUnlessEqual(NSWindowBackingLocationVideoMemory, 1) 37 self.failUnlessEqual(NSWindowBackingLocationMainMemory, 2) 38 39 self.failUnlessEqual(NSWindowCollectionBehaviorDefault, 0) 40 self.failUnlessEqual(NSWindowCollectionBehaviorCanJoinAllSpaces, 1 << 0) 41 self.failUnlessEqual(NSWindowCollectionBehaviorMoveToActiveSpace, 1 << 1) 42 43 44 self.failUnlessEqual(NSDirectSelection, 0) 45 self.failUnlessEqual(NSSelectingNext, 1) 46 self.failUnlessEqual(NSSelectingPrevious, 2) 47 48 self.failUnlessEqual(NSWindowCloseButton, 0) 49 self.failUnlessEqual(NSWindowMiniaturizeButton, 1) 50 self.failUnlessEqual(NSWindowZoomButton, 2) 51 self.failUnlessEqual(NSWindowToolbarButton, 3) 52 self.failUnlessEqual(NSWindowDocumentIconButton, 4) 53 54 self.failUnlessIsInstance(NSWindowDidBecomeKeyNotification, unicode) 55 self.failUnlessIsInstance(NSWindowDidBecomeMainNotification, unicode) 56 self.failUnlessIsInstance(NSWindowDidChangeScreenNotification, unicode) 57 self.failUnlessIsInstance(NSWindowDidDeminiaturizeNotification, unicode) 58 self.failUnlessIsInstance(NSWindowDidExposeNotification, unicode) 59 self.failUnlessIsInstance(NSWindowDidMiniaturizeNotification, unicode) 60 self.failUnlessIsInstance(NSWindowDidMoveNotification, unicode) 61 self.failUnlessIsInstance(NSWindowDidResignKeyNotification, unicode) 62 self.failUnlessIsInstance(NSWindowDidResignMainNotification, unicode) 63 self.failUnlessIsInstance(NSWindowDidResizeNotification, unicode) 64 self.failUnlessIsInstance(NSWindowDidUpdateNotification, unicode) 65 self.failUnlessIsInstance(NSWindowWillCloseNotification, unicode) 66 self.failUnlessIsInstance(NSWindowWillMiniaturizeNotification, unicode) 67 self.failUnlessIsInstance(NSWindowWillMoveNotification, unicode) 68 self.failUnlessIsInstance(NSWindowWillBeginSheetNotification, unicode) 69 self.failUnlessIsInstance(NSWindowDidEndSheetNotification, unicode) 70 self.failUnlessIsInstance(NSWindowDidChangeScreenProfileNotification, unicode) 71 72 def testMagicConstants(self): 73 self.failUnlessEqual(NSNormalWindowLevel, kCGNormalWindowLevel) 74 self.failUnlessEqual(NSFloatingWindowLevel, kCGFloatingWindowLevel) 75 self.failUnlessEqual(NSSubmenuWindowLevel, kCGTornOffMenuWindowLevel) 76 self.failUnlessEqual(NSTornOffMenuWindowLevel, kCGTornOffMenuWindowLevel) 77 self.failUnlessEqual(NSMainMenuWindowLevel, kCGMainMenuWindowLevel) 78 self.failUnlessEqual(NSStatusWindowLevel, kCGStatusWindowLevel) 79 self.failUnlessEqual(NSDockWindowLevel, kCGDockWindowLevel) 80 self.failUnlessEqual(NSModalPanelWindowLevel, kCGModalPanelWindowLevel) 81 self.failUnlessEqual(NSPopUpMenuWindowLevel, kCGPopUpMenuWindowLevel) 82 self.failUnlessEqual(NSScreenSaverWindowLevel, kCGScreenSaverWindowLevel) 83 84 def testMethods(self): 85 self.failUnlessArgIsBOOL(NSWindow.initWithContentRect_styleMask_backing_defer_, 3) 86 self.failUnlessArgIsBOOL(NSWindow.initWithContentRect_styleMask_backing_defer_screen_, 3) 87 self.failUnlessArgIsBOOL(NSWindow.setExcludedFromWindowsMenu_, 0) 88 self.failUnlessResultIsBOOL(NSWindow.isExcludedFromWindowsMenu) 89 self.failUnlessArgIsBOOL(NSWindow.fieldEditor_forObject_, 0) 90 self.failUnlessArgIsBOOL(NSWindow.setFrame_display_, 1) 91 self.failUnlessArgIsBOOL(NSWindow.setFrame_display_animate_, 1) 92 self.failUnlessArgIsBOOL(NSWindow.setFrame_display_animate_, 2) 93 self.failUnlessArgIsBOOL(NSWindow.setShowsResizeIndicator_, 0) 94 self.failUnlessResultIsBOOL(NSWindow.showsResizeIndicator) 95 self.failUnlessArgIsBOOL(NSWindow.useOptimizedDrawing_, 0) 96 self.failUnlessResultIsBOOL(NSWindow.isFlushWindowDisabled) 97 self.failUnlessResultIsBOOL(NSWindow.viewsNeedDisplay) 98 self.failUnlessArgIsBOOL(NSWindow.setViewsNeedDisplay_, 0) 99 self.failUnlessResultIsBOOL(NSWindow.isAutodisplay) 100 self.failUnlessArgIsBOOL(NSWindow.setAutodisplay_, 0) 101 self.failUnlessResultIsBOOL(NSWindow.preservesContentDuringLiveResize) 102 self.failUnlessArgIsBOOL(NSWindow.setPreservesContentDuringLiveResize_, 0) 103 self.failUnlessResultIsBOOL(NSWindow.makeFirstResponder_) 104 self.failUnlessArgIsBOOL(NSWindow.setReleasedWhenClosed_, 0) 105 self.failUnlessResultIsBOOL(NSWindow.isReleasedWhenClosed) 106 self.failUnlessResultIsBOOL(NSWindow.isZoomed) 107 self.failUnlessResultIsBOOL(NSWindow.isMiniaturized) 108 self.failUnlessResultIsBOOL(NSWindow.tryToPerform_with_) 109 self.failUnlessResultIsBOOL(NSWindow.isMovableByWindowBackground) 110 self.failUnlessArgIsBOOL(NSWindow.setMovableByWindowBackground_, 0) 111 self.failUnlessResultIsBOOL(NSWindow.hidesOnDeactivate) 112 self.failUnlessArgIsBOOL(NSWindow.setHidesOnDeactivate_, 0) 113 self.failUnlessResultIsBOOL(NSWindow.canHide) 114 self.failUnlessArgIsBOOL(NSWindow.setCanHide_, 0) 115 self.failUnlessResultIsBOOL(NSWindow.isDocumentEdited) 116 self.failUnlessArgIsBOOL(NSWindow.setDocumentEdited_, 0) 117 self.failUnlessResultIsBOOL(NSWindow.isDocumentEdited) 118 self.failUnlessResultIsBOOL(NSWindow.isVisible) 119 self.failUnlessResultIsBOOL(NSWindow.isKeyWindow) 120 self.failUnlessResultIsBOOL(NSWindow.isMainWindow) 121 self.failUnlessResultIsBOOL(NSWindow.canBecomeKeyWindow) 122 self.failUnlessResultIsBOOL(NSWindow.canBecomeMainWindow) 123 self.failUnlessResultIsBOOL(NSWindow.worksWhenModal) 124 self.failUnlessResultIsBOOL(NSWindow.isOneShot) 125 self.failUnlessArgIsBOOL(NSWindow.setOneShot_, 0) 126 self.failUnlessResultIsBOOL(NSWindow.areCursorRectsEnabled) 127 self.failUnlessArgIsBOOL(NSWindow.setAllowsToolTipsWhenApplicationIsInactive_, 0) 128 self.failUnlessResultIsBOOL(NSWindow.allowsToolTipsWhenApplicationIsInactive) 129 self.failUnlessArgIsBOOL(NSWindow.setDynamicDepthLimit_, 0) 130 self.failUnlessResultIsBOOL(NSWindow.hasDynamicDepthLimit) 131 self.failUnlessArgIsBOOL(NSWindow.setHasShadow_, 0) 132 self.failUnlessResultIsBOOL(NSWindow.hasShadow) 133 self.failUnlessResultIsBOOL(NSWindow.canStoreColor) 134 self.failUnlessArgIsBOOL(NSWindow.setOpaque_, 0) 135 self.failUnlessResultIsBOOL(NSWindow.isOpaque) 136 self.failUnlessArgIsBOOL(NSWindow.setDisplaysWhenScreenProfileChanges_, 0) 137 self.failUnlessResultIsBOOL(NSWindow.displaysWhenScreenProfileChanges) 138 self.failUnlessResultIsBOOL(NSWindow.setFrameUsingName_force_) 139 self.failUnlessArgIsBOOL(NSWindow.setFrameUsingName_force_, 1) 140 self.failUnlessResultIsBOOL(NSWindow.setFrameUsingName_) 141 self.failUnlessResultIsBOOL(NSWindow.setFrameAutosaveName_) 142 self.failUnlessArgIsBOOL(NSWindow.postEvent_atStart_, 1) 143 self.failUnlessResultIsBOOL(NSWindow.acceptsMouseMovedEvents) 144 self.failUnlessArgIsBOOL(NSWindow.setIgnoresMouseEvents_, 0) 145 self.failUnlessResultIsBOOL(NSWindow.ignoresMouseEvents) 146 self.failUnlessResultIsBOOL(NSWindow.isSheet) 147 self.failUnlessArgIsBOOL(NSWindow.setAutorecalculatesKeyViewLoop_, 0) 148 self.failUnlessResultIsBOOL(NSWindow.autorecalculatesKeyViewLoop) 149 self.failUnlessArgIsBOOL(NSWindow.setShowsToolbarButton_, 0) 150 self.failUnlessResultIsBOOL(NSWindow.showsToolbarButton) 151 self.failUnlessArgIsBOOL(NSWindow.dragImage_at_offset_event_pasteboard_source_slideBack_, 6) 152 153 @min_os_level('10.5') 154 def testMethods10_5(self): 155 self.failUnlessResultIsBOOL(NSWindow.autorecalculatesContentBorderThicknessForEdge_) 156 self.failUnlessArgIsBOOL(NSWindow.setAutorecalculatesContentBorderThickness_forEdge_, 0) 157 self.failUnlessArgIsBOOL(NSWindow.setCanBecomeVisibleWithoutLogin_, 0) 158 self.failUnlessResultIsBOOL(NSWindow.canBecomeVisibleWithoutLogin) 159 self.failUnlessResultIsBOOL(NSWindow.canBeVisibleOnAllSpaces) 160 self.failUnlessArgIsBOOL(NSWindow.setCanBeVisibleOnAllSpaces_, 0) 161 162 def testProtocols(self): 163 self.failUnlessResultIsBOOL(TestNSWindowHelper.windowShouldClose_) 164 self.failUnlessResultHasType(TestNSWindowHelper.windowWillResize_toSize_, NSSize.__typestr__) 165 self.failUnlessArgHasType(TestNSWindowHelper.windowWillResize_toSize_, 1, NSSize.__typestr__) 166 self.failUnlessResultHasType(TestNSWindowHelper.windowWillUseStandardFrame_defaultFrame_, NSRect.__typestr__) 167 self.failUnlessArgHasType(TestNSWindowHelper.windowWillUseStandardFrame_defaultFrame_, 1, NSRect.__typestr__) 168 self.failUnlessResultIsBOOL(TestNSWindowHelper.windowShouldZoom_toFrame_) 169 self.failUnlessArgHasType(TestNSWindowHelper.windowShouldZoom_toFrame_, 1, NSRect.__typestr__) 170 self.failUnlessResultHasType(TestNSWindowHelper.window_willPositionSheet_usingRect_, NSRect.__typestr__) 171 self.failUnlessArgHasType(TestNSWindowHelper.window_willPositionSheet_usingRect_, 2, NSRect.__typestr__) 172 self.failUnlessResultIsBOOL(TestNSWindowHelper.window_shouldPopUpDocumentPathMenu_) 173 self.failUnlessResultIsBOOL(TestNSWindowHelper.window_shouldDragDocumentWithEvent_from_withPasteboard_) 174 self.failUnlessArgHasType(TestNSWindowHelper.window_shouldDragDocumentWithEvent_from_withPasteboard_, 2, NSPoint.__typestr__) 175 176if __name__ == "__main__": 177 main() 178