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 TestCVOpenGLBufferPool (TestCase): 16 def testTypes(self): 17 self.assertIsCFType(CVOpenGLBufferPoolRef) 18 19 def testConstants(self): 20 self.assertIsInstance(kCVOpenGLBufferPoolMinimumBufferCountKey, unicode) 21 self.assertIsInstance(kCVOpenGLBufferPoolMaximumBufferAgeKey, unicode) 22 23 def testFunctions(self): 24 self.assertIsInstance(CVOpenGLBufferPoolGetTypeID(), (int, long)) 25 26 # FIXME: find some good creation parameters 27 self.assertArgIsOut(CVOpenGLBufferPoolCreate, 3) 28 self.assertArgIsCFRetained(CVOpenGLBufferPoolCreate, 3) 29 rv, pool = CVOpenGLBufferPoolCreate(None, { 30 kCVOpenGLBufferPoolMinimumBufferCountKey: 1, 31 kCVOpenGLBufferPoolMaximumBufferAgeKey: 42.0, 32 }, {}, None) 33 self.assertEqual(rv, 0) 34 self.assertIsInstance(pool, CVOpenGLBufferPoolRef) 35 36 v = CVOpenGLBufferPoolRetain(pool) 37 self.assertTrue(v is pool) 38 CVOpenGLBufferPoolRelease(v) 39 40 v = CVOpenGLBufferPoolGetAttributes(pool) 41 self.assertIsInstance(v, CFDictionaryRef) 42 43 v = CVOpenGLBufferPoolGetOpenGLBufferAttributes(pool) 44 self.assertIsInstance(v, CFDictionaryRef) 45 46 self.assertArgIsOut(CVOpenGLBufferPoolCreateOpenGLBuffer, 2) 47 self.assertArgIsCFRetained(CVOpenGLBufferPoolCreateOpenGLBuffer, 2) 48 rv, buf = CVOpenGLBufferPoolCreateOpenGLBuffer(None, pool, None) 49 self.assertIsInstance(rv, (int, long)) 50 if rv == 0: 51 self.assertIsInstance(buf, CVOpenGLBufferRef) 52 else: 53 self.assertTrue(buf is None) 54 55if __name__ == "__main__": 56 main() 57