1 2from PyObjCTools.TestSupport import * 3from AppKit import * 4 5class TestNSDraggingHelper (NSObject): 6 def draggingFormation(self): return 1 7 def setDraggingFormation(self, v): return 1 8 def animatesToDestination(self): return 1 9 def setAnimatesToDestination_(self, v): return 1 10 def numberOfValidItemsForDrop(self): return 1 11 def setNumberOfValidItemsForDrop_(self, v): return 1 12 def enumerateDraggingItemsWithOptions_forView_classes_searchOptions_usingBlock_(self, a, b, c, d, e): return 1 13 def draggingSession_sourceOperationMaskForDraggingContext_(self, a, b): return 1 14 def draggingSession_willBeginAtPoint_(self, a, b): pass 15 def draggingSession_movedToPoint_(self, a, b): pass 16 def draggingSession_endedAtPoint_operation_(self, a, b, c): pass 17 def ignoreModifierKeysForDraggingSession_(self, a): return 1 18 19 20 21 def draggingSourceOperationMask(self): return 1 22 def draggingLocation(self): return 1 23 def draggedImageLocation(self): return 1 24 def draggingSource(self): return 1 25 def draggingSequenceNumber(self): return 1 26 def slideDraggedImageTo_(self, v): pass 27 28 def draggingEntered_(self, sender): return 1 29 def draggingUpdated_(self, sender): return 1 30 def draggingExited_(self, sender): pass 31 def prepareForDragOperation_(self, sender): return 1 32 def performDragOperation_(self, sender): return 1 33 def concludeDragOperation_(self, sender): pass 34 def draggingEnded_(self, sender): pass 35 def wantsPeriodicDraggingUpdates(self): return 1 36 37 def draggingSourceOperationMaskForLocal_(self, v): return 1 38 def draggedImage_beganAt_(self, v, v2): pass 39 def draggedImage_endedAt_operation_(self, v, v2, v3): pass 40 def draggedImage_movedTo_(self, v, v2): pass 41 def ignoreModifierKeysWhileDragging(self): return 1 42 def draggedImage_endedAt_deposited_(self, i, p, f): pass 43 44class TestNSDragging (TestCase): 45 def testConstants(self): 46 self.assertEqual(NSDragOperationNone, 0) 47 self.assertEqual(NSDragOperationCopy, 1) 48 self.assertEqual(NSDragOperationLink, 2) 49 self.assertEqual(NSDragOperationGeneric, 4) 50 self.assertEqual(NSDragOperationPrivate, 8) 51 self.assertEqual(NSDragOperationAll_Obsolete, 15) 52 self.assertEqual(NSDragOperationMove, 16) 53 self.assertEqual(NSDragOperationDelete, 32) 54 self.assertEqual(NSDragOperationEvery, NSUIntegerMax) 55 56 self.assertEqual(NSDragOperationAll, NSDragOperationAll_Obsolete) 57 58 @min_os_level('10.7') 59 def testConstant10_7(self): 60 self.assertEqual(NSDraggingFormationDefault, 0) 61 self.assertEqual(NSDraggingFormationNone, 1) 62 self.assertEqual(NSDraggingFormationPile, 2) 63 self.assertEqual(NSDraggingFormationList, 3) 64 self.assertEqual(NSDraggingFormationStack, 4) 65 66 self.assertEqual(NSDraggingContextOutsideApplication, 0) 67 self.assertEqual(NSDraggingContextWithinApplication, 1) 68 69 self.assertEqual(NSDraggingItemEnumerationClearNonenumeratedImages, 1<<16) 70 71 72 def testProtocols(self): 73 self.assertResultHasType(TestNSDraggingHelper.draggingSourceOperationMask, objc._C_NSUInteger) 74 self.assertResultHasType(TestNSDraggingHelper.draggingLocation, NSPoint.__typestr__) 75 self.assertResultHasType(TestNSDraggingHelper.draggedImageLocation, NSPoint.__typestr__) 76 self.assertResultHasType(TestNSDraggingHelper.draggingSequenceNumber, objc._C_NSInteger) 77 self.assertArgHasType(TestNSDraggingHelper.slideDraggedImageTo_, 0, NSPoint.__typestr__) 78 79 self.assertResultHasType(TestNSDraggingHelper.draggingEntered_, objc._C_NSUInteger) 80 self.assertResultHasType(TestNSDraggingHelper.draggingUpdated_, objc._C_NSUInteger) 81 self.assertResultIsBOOL(TestNSDraggingHelper.prepareForDragOperation_) 82 self.assertResultIsBOOL(TestNSDraggingHelper.performDragOperation_) 83 self.assertResultIsBOOL(TestNSDraggingHelper.wantsPeriodicDraggingUpdates) 84 85 self.assertResultHasType(TestNSDraggingHelper.draggingSourceOperationMaskForLocal_, objc._C_NSUInteger) 86 self.assertArgIsBOOL(TestNSDraggingHelper.draggingSourceOperationMaskForLocal_, 0) 87 self.assertArgHasType(TestNSDraggingHelper.draggedImage_beganAt_, 1, NSPoint.__typestr__) 88 self.assertArgHasType(TestNSDraggingHelper.draggedImage_endedAt_operation_, 1, NSPoint.__typestr__) 89 self.assertArgHasType(TestNSDraggingHelper.draggedImage_endedAt_operation_, 2, objc._C_NSUInteger) 90 self.assertArgHasType(TestNSDraggingHelper.draggedImage_movedTo_, 1, NSPoint.__typestr__) 91 self.assertResultIsBOOL(TestNSDraggingHelper.ignoreModifierKeysWhileDragging) 92 self.assertArgHasType(TestNSDraggingHelper.draggedImage_endedAt_deposited_, 1, NSPoint.__typestr__) 93 self.assertArgIsBOOL(TestNSDraggingHelper.draggedImage_endedAt_deposited_, 2) 94 95 @min_os_level('10.7') 96 def testProtocols10_7(self): 97 self.assertResultIsBOOL(TestNSDraggingHelper.animatesToDestination) 98 self.assertArgIsBOOL(TestNSDraggingHelper.setAnimatesToDestination_, 0) 99 100 self.assertResultIsBOOL(TestNSDraggingHelper.animatesToDestination) 101 self.assertArgIsBOOL(TestNSDraggingHelper.setAnimatesToDestination_, 0) 102 103 self.assertResultHasType(TestNSDraggingHelper.numberOfValidItemsForDrop, objc._C_NSInteger) 104 self.assertArgHasType(TestNSDraggingHelper.setNumberOfValidItemsForDrop_, 0, objc._C_NSInteger) 105 106 107 self.assertArgHasType(TestNSDraggingHelper.enumerateDraggingItemsWithOptions_forView_classes_searchOptions_usingBlock_, 0, objc._C_NSUInteger) 108 self.assertArgIsBlock(TestNSDraggingHelper.enumerateDraggingItemsWithOptions_forView_classes_searchOptions_usingBlock_, 4, b'v@' + objc._C_NSInteger + b'o^' + objc._C_NSBOOL) 109 110 self.assertArgHasType(TestNSDraggingHelper.draggingSession_willBeginAtPoint_, 1, NSPoint.__typestr__) 111 self.assertArgHasType(TestNSDraggingHelper.draggingSession_movedToPoint_, 1, NSPoint.__typestr__) 112 self.assertArgHasType(TestNSDraggingHelper.draggingSession_endedAtPoint_operation_, 1, NSPoint.__typestr__) 113 self.assertArgHasType(TestNSDraggingHelper.draggingSession_endedAtPoint_operation_, 2, objc._C_NSUInteger) 114 115 self.assertResultIsBOOL(TestNSDraggingHelper.ignoreModifierKeysForDraggingSession_) 116 117if __name__ == "__main__": 118 main() 119