1 2from PyObjCTools.TestSupport import * 3from Quartz import * 4 5class TestCVPixelBufferPool (TestCase): 6 7 def testTypes(self): 8 self.assertIsCFType(CVPixelBufferPoolRef) 9 10 def testContants(self): 11 self.assertIsInstance(kCVPixelBufferPoolMinimumBufferCountKey, unicode) 12 self.assertIsInstance(kCVPixelBufferPoolMaximumBufferAgeKey, unicode) 13 14 def testFunctions(self): 15 self.assertIsInstance(CVPixelBufferPoolGetTypeID(), (int, long)) 16 17 self.assertArgIsCFRetained(CVPixelBufferPoolCreate, 3) 18 self.assertArgIsOut(CVPixelBufferPoolCreate, 3) 19 rv, pool = CVPixelBufferPoolCreate(None, { 20 kCVPixelBufferPoolMinimumBufferCountKey: 1, 21 kCVPixelBufferPoolMaximumBufferAgeKey: 300, 22 }, { 23 kCVPixelBufferWidthKey: 100, 24 kCVPixelBufferHeightKey: 100, 25 kCVPixelBufferPixelFormatTypeKey: kCVPixelFormatType_32ARGB, 26 }, None) 27 self.assertEqual(rv, 0) 28 self.assertIsInstance(pool, CVPixelBufferPoolRef) 29 30 31 v = CVPixelBufferPoolRetain(pool) 32 self.assertTrue(v is pool) 33 CVPixelBufferPoolRelease(pool) 34 35 v = CVPixelBufferPoolGetAttributes(pool) 36 self.assertIsInstance(v, CFDictionaryRef) 37 38 v = CVPixelBufferPoolGetPixelBufferAttributes(pool) 39 self.assertIsInstance(v, CFDictionaryRef) 40 41 self.assertArgIsOut(CVPixelBufferPoolCreatePixelBuffer, 2) 42 rv, image = CVPixelBufferPoolCreatePixelBuffer(None, pool, None) 43 self.assertEqual(rv, 0) 44 self.assertIsInstance(image, CVPixelBufferRef) 45 46 47 48if __name__ == "__main__": 49 main() 50