1 2from PyObjCTools.TestSupport import * 3from Quartz import * 4 5try: 6 unicode 7except NameError: 8 unicode = str 9 10class TestCVImageBuffer (TestCase): 11 12 def testFunctions(self): 13 self.assertResultHasType(CVImageBufferGetEncodedSize, CGSize.__typestr__) 14 self.assertResultHasType(CVImageBufferGetDisplaySize, CGSize.__typestr__) 15 self.assertResultHasType(CVImageBufferGetCleanRect, CGRect.__typestr__) 16 17 @expectedFailure 18 def testsMissing(self): 19 # FIXME 20 CVImageBufferGetColorSpace 21 self.fail("Reimplement function tests using an actual buffer") 22 23 def testConstants(self): 24 self.assertIsInstance(kCVImageBufferCGColorSpaceKey, unicode) 25 self.assertIsInstance(kCVImageBufferCleanApertureKey, unicode) 26 self.assertIsInstance(kCVImageBufferCleanApertureWidthKey, unicode) 27 self.assertIsInstance(kCVImageBufferCleanApertureHeightKey, unicode) 28 self.assertIsInstance(kCVImageBufferCleanApertureHorizontalOffsetKey, unicode) 29 self.assertIsInstance(kCVImageBufferCleanApertureVerticalOffsetKey, unicode) 30 self.assertIsInstance(kCVImageBufferPreferredCleanApertureKey, unicode) 31 self.assertIsInstance(kCVImageBufferFieldCountKey, unicode) 32 self.assertIsInstance(kCVImageBufferFieldDetailKey, unicode) 33 self.assertIsInstance(kCVImageBufferFieldDetailTemporalTopFirst, unicode) 34 self.assertIsInstance(kCVImageBufferFieldDetailTemporalBottomFirst, unicode) 35 self.assertIsInstance(kCVImageBufferFieldDetailSpatialFirstLineEarly, unicode) 36 self.assertIsInstance(kCVImageBufferFieldDetailSpatialFirstLineLate, unicode) 37 self.assertIsInstance(kCVImageBufferPixelAspectRatioKey, unicode) 38 self.assertIsInstance(kCVImageBufferPixelAspectRatioHorizontalSpacingKey, unicode) 39 self.assertIsInstance(kCVImageBufferPixelAspectRatioVerticalSpacingKey, unicode) 40 self.assertIsInstance(kCVImageBufferDisplayDimensionsKey, unicode) 41 self.assertIsInstance(kCVImageBufferDisplayWidthKey, unicode) 42 self.assertIsInstance(kCVImageBufferDisplayHeightKey, unicode) 43 self.assertIsInstance(kCVImageBufferGammaLevelKey, unicode) 44 self.assertIsInstance(kCVImageBufferYCbCrMatrixKey, unicode) 45 self.assertIsInstance(kCVImageBufferYCbCrMatrix_ITU_R_709_2, unicode) 46 self.assertIsInstance(kCVImageBufferYCbCrMatrix_ITU_R_601_4, unicode) 47 self.assertIsInstance(kCVImageBufferYCbCrMatrix_SMPTE_240M_1995, unicode) 48 49 @min_os_level('10.5') 50 def testConstants10_5(self): 51 self.assertIsInstance(kCVImageBufferColorPrimaries_ITU_R_709_2, unicode) 52 self.assertIsInstance(kCVImageBufferColorPrimaries_EBU_3213, unicode) 53 self.assertIsInstance(kCVImageBufferColorPrimaries_SMPTE_C, unicode) 54 self.assertIsInstance(kCVImageBufferTransferFunctionKey, unicode) 55 self.assertIsInstance(kCVImageBufferTransferFunction_ITU_R_709_2, unicode) 56 self.assertIsInstance(kCVImageBufferTransferFunction_EBU_3213, unicode) 57 self.assertIsInstance(kCVImageBufferTransferFunction_SMPTE_C, unicode) 58 self.assertIsInstance(kCVImageBufferChromaLocationTopFieldKey, unicode) 59 self.assertIsInstance(kCVImageBufferChromaLocationBottomFieldKey, unicode) 60 self.assertIsInstance(kCVImageBufferChromaLocation_Left, unicode) 61 self.assertIsInstance(kCVImageBufferChromaLocation_Center, unicode) 62 self.assertIsInstance(kCVImageBufferChromaLocation_TopLeft, unicode) 63 self.assertIsInstance(kCVImageBufferChromaLocation_Top, unicode) 64 self.assertIsInstance(kCVImageBufferChromaLocation_BottomLeft, unicode) 65 self.assertIsInstance(kCVImageBufferChromaLocation_Bottom, unicode) 66 self.assertIsInstance(kCVImageBufferChromaLocation_DV420, unicode) 67 self.assertIsInstance(kCVImageBufferChromaSubsamplingKey, unicode) 68 self.assertIsInstance(kCVImageBufferChromaSubsampling_420, unicode) 69 self.assertIsInstance(kCVImageBufferChromaSubsampling_422, unicode) 70 self.assertIsInstance(kCVImageBufferChromaSubsampling_411, unicode) 71 self.assertIsInstance(kCVImageBufferColorPrimariesKey, unicode) 72 73 @min_os_level('10.6') 74 def testConstants10_6(self): 75 self.assertIsInstance(kCVImageBufferICCProfileKey, unicode) 76 self.assertIsInstance(kCVImageBufferTransferFunction_SMPTE_240M_1995, unicode) 77 self.assertIsInstance(kCVImageBufferTransferFunction_UseGamma, unicode) 78 self.assertIsInstance(kCVImageBufferTransferFunction_EBU_3213, unicode) 79 self.assertIsInstance(kCVImageBufferTransferFunction_SMPTE_C, unicode) 80 81 @min_os_level('10.8') 82 def testConstants10_8(self): 83 self.assertIsInstance(kCVImageBufferColorPrimaries_P22, unicode) 84 85 @min_os_level('10.8') 86 def testFunctions10_8(self): 87 self.assertResultIsCFRetained(CVImageBufferCreateColorSpaceFromAttachments) 88 89if __name__ == "__main__": 90 main() 91