1from PyObjCTools.TestSupport import * 2 3import Quartz 4 5CGDisplayStreamFrameAvailableHandler = b'vIQ@@' 6 7try: 8 long 9except NameError: 10 long = int 11 12try: 13 unicode 14except NameError: 15 unicode = str 16 17class TestCGDisplayStream (TestCase): 18 @min_os_level('10.8') 19 def testTypes10_8(self): 20 self.assertIsCFType(Quartz.CGDisplayStreamRef) 21 self.assertIsCFType(Quartz.CGDisplayStreamUpdateRef) 22 23 @min_os_level('10.8') 24 def testConstants10_8(self): 25 self.assertEqual(Quartz.kCGDisplayStreamUpdateRefreshedRects, 0) 26 self.assertEqual(Quartz.kCGDisplayStreamUpdateMovedRects, 1) 27 self.assertEqual(Quartz.kCGDisplayStreamUpdateDirtyRects, 2) 28 self.assertEqual(Quartz.kCGDisplayStreamUpdateReducedDirtyRects, 3) 29 30 self.assertEqual(Quartz.kCGDisplayStreamFrameStatusFrameComplete, 0) 31 self.assertEqual(Quartz.kCGDisplayStreamFrameStatusFrameIdle, 1) 32 self.assertEqual(Quartz.kCGDisplayStreamFrameStatusFrameBlank, 2) 33 self.assertEqual(Quartz.kCGDisplayStreamFrameStatusStopped, 3) 34 35 self.assertIsInstance(Quartz.kCGDisplayStreamSourceRect, unicode) 36 self.assertIsInstance(Quartz.kCGDisplayStreamPreserveAspectRatio, unicode) 37 self.assertIsInstance(Quartz.kCGDisplayStreamColorSpace, unicode) 38 self.assertIsInstance(Quartz.kCGDisplayStreamMinimumFrameTime, unicode) 39 self.assertIsInstance(Quartz.kCGDisplayStreamShowCursor, unicode) 40 self.assertIsInstance(Quartz.kCGDisplayStreamQueueDepth, unicode) 41 self.assertIsInstance(Quartz.kCGDisplayStreamYCbCrMatrix, unicode) 42 self.assertIsInstance(Quartz.kCGDisplayStreamYCbCrMatrix_ITU_R_709_2, unicode) 43 self.assertIsInstance(Quartz.kCGDisplayStreamYCbCrMatrix_ITU_R_601_4, unicode) 44 self.assertIsInstance(Quartz.kCGDisplayStreamYCbCrMatrix_SMPTE_240M_1995, unicode) 45 46 @min_os_level('10.8') 47 def testFunctions10_8(self): 48 self.assertIsInstance(Quartz.CGDisplayStreamUpdateGetTypeID(), (int, long)) 49 self.assertIsInstance(Quartz.CGDisplayStreamGetTypeID(), (int, long)) 50 51 self.assertResultSizeInArg(Quartz.CGDisplayStreamUpdateGetRects, 2) 52 self.assertArgIsOut(Quartz.CGDisplayStreamUpdateGetRects, 2) 53 54 Quartz.CGDisplayStreamUpdateCreateMergedUpdate # XXX: test using actual call 55 56 self.assertArgIsOut(Quartz.CGDisplayStreamUpdateGetMovedRectsDelta, 1) 57 self.assertArgIsOut(Quartz.CGDisplayStreamUpdateGetMovedRectsDelta, 2) 58 59 Quartz.CGDisplayStreamUpdateGetDropCount # XXX 60 61 self.assertResultIsCFRetained(Quartz.CGDisplayStreamCreate) 62 self.assertArgIsBlock(Quartz.CGDisplayStreamCreate, 5, CGDisplayStreamFrameAvailableHandler) 63 64 self.assertResultIsCFRetained(Quartz.CGDisplayStreamCreateWithDispatchQueue) 65 self.assertArgIsBlock(Quartz.CGDisplayStreamCreateWithDispatchQueue, 6, CGDisplayStreamFrameAvailableHandler) 66 67 Quartz.CGDisplayStreamStart # XXX 68 Quartz.CGDisplayStreamStop # XXX 69 70 Quartz.CGDisplayStreamGetRunLoopSource # XXX 71 72if __name__ == "__main__": 73 main() 74