1
2from PyObjCTools.TestSupport import *
3from Quartz import *
4
5class TestCVOpenGLBufferPool (TestCase):
6    def testTypes(self):
7        self.assertIsCFType(CVOpenGLBufferPoolRef)
8
9    def testConstants(self):
10        self.assertIsInstance(kCVOpenGLBufferPoolMinimumBufferCountKey, unicode)
11        self.assertIsInstance(kCVOpenGLBufferPoolMaximumBufferAgeKey, unicode)
12
13    def testFunctions(self):
14        self.assertIsInstance(CVOpenGLBufferPoolGetTypeID(), (int, long))
15
16        # FIXME: find some good creation parameters
17        self.assertArgIsOut(CVOpenGLBufferPoolCreate, 3)
18        self.assertArgIsCFRetained(CVOpenGLBufferPoolCreate, 3)
19        rv, pool = CVOpenGLBufferPoolCreate(None, {
20            kCVOpenGLBufferPoolMinimumBufferCountKey: 1,
21            kCVOpenGLBufferPoolMaximumBufferAgeKey: 42.0,
22            }, {}, None)
23        self.assertEqual(rv, 0)
24        self.assertIsInstance(pool, CVOpenGLBufferPoolRef)
25
26        v = CVOpenGLBufferPoolRetain(pool)
27        self.assertTrue(v is pool)
28        CVOpenGLBufferPoolRelease(v)
29
30        v = CVOpenGLBufferPoolGetAttributes(pool)
31        self.assertIsInstance(v, CFDictionaryRef)
32
33        v = CVOpenGLBufferPoolGetOpenGLBufferAttributes(pool)
34        self.assertIsInstance(v, CFDictionaryRef)
35
36        self.assertArgIsOut(CVOpenGLBufferPoolCreateOpenGLBuffer, 2)
37        self.assertArgIsCFRetained(CVOpenGLBufferPoolCreateOpenGLBuffer, 2)
38        rv, buf = CVOpenGLBufferPoolCreateOpenGLBuffer(None, pool, None)
39        self.assertIsInstance(rv, (int, long))
40        if rv == 0:
41            self.assertIsInstance(buf, CVOpenGLBufferRef)
42        else:
43            self.assertTrue(buf is None)
44
45if __name__ == "__main__":
46    main()
47