1 2from PyObjCTools.TestSupport import * 3from Quartz import * 4 5try: 6 unicode 7except NameError: 8 unicode = str 9 10 11try: 12 long 13except NameError: 14 long = int 15class TestCVPixelBufferPool (TestCase): 16 17 def testTypes(self): 18 self.assertIsCFType(CVPixelBufferPoolRef) 19 20 def testContants(self): 21 self.assertIsInstance(kCVPixelBufferPoolMinimumBufferCountKey, unicode) 22 self.assertIsInstance(kCVPixelBufferPoolMaximumBufferAgeKey, unicode) 23 24 @min_os_level('10.7') 25 def testContants10_7(self): 26 self.assertIsInstance(kCVPixelBufferPoolAllocationThresholdKey, unicode) 27 self.assertIsInstance(kCVPixelBufferPoolFreeBufferNotification, unicode) 28 29 def testFunctions(self): 30 self.assertIsInstance(CVPixelBufferPoolGetTypeID(), (int, long)) 31 32 self.assertArgIsCFRetained(CVPixelBufferPoolCreate, 3) 33 self.assertArgIsOut(CVPixelBufferPoolCreate, 3) 34 rv, pool = CVPixelBufferPoolCreate(None, { 35 kCVPixelBufferPoolMinimumBufferCountKey: 1, 36 kCVPixelBufferPoolMaximumBufferAgeKey: 300, 37 }, { 38 kCVPixelBufferWidthKey: 100, 39 kCVPixelBufferHeightKey: 100, 40 kCVPixelBufferPixelFormatTypeKey: kCVPixelFormatType_32ARGB, 41 }, None) 42 self.assertEqual(rv, 0) 43 self.assertIsInstance(pool, CVPixelBufferPoolRef) 44 45 46 v = CVPixelBufferPoolRetain(pool) 47 self.assertTrue(v is pool) 48 CVPixelBufferPoolRelease(pool) 49 50 v = CVPixelBufferPoolGetAttributes(pool) 51 self.assertIsInstance(v, CFDictionaryRef) 52 53 v = CVPixelBufferPoolGetPixelBufferAttributes(pool) 54 self.assertIsInstance(v, CFDictionaryRef) 55 56 self.assertArgIsOut(CVPixelBufferPoolCreatePixelBuffer, 2) 57 rv, image = CVPixelBufferPoolCreatePixelBuffer(None, pool, None) 58 self.assertEqual(rv, 0) 59 self.assertIsInstance(image, CVPixelBufferRef) 60 61 @min_os_level('10.7') 62 def testFunctions10_7(self): 63 self.assertArgIsOut(CVPixelBufferPoolCreatePixelBufferWithAuxAttributes, 3) 64 self.assertArgIsCFRetained(CVPixelBufferPoolCreatePixelBufferWithAuxAttributes, 3) 65 66 67if __name__ == "__main__": 68 main() 69