1 2from PyObjCTools.TestSupport import * 3from AppKit import * 4 5try: 6 long 7except NameError: 8 long = int 9 10 11class TestNSOpenGL (TestCase): 12 def testConstants(self): 13 self.assertEqual(NSOpenGLGOFormatCacheSize, 501) 14 self.assertEqual(NSOpenGLGOClearFormatCache, 502) 15 self.assertEqual(NSOpenGLGORetainRenderers, 503) 16 self.assertEqual(NSOpenGLGOResetLibrary, 504) 17 18 self.assertEqual(NSOpenGLPFAAllRenderers, 1) 19 self.assertEqual(NSOpenGLPFADoubleBuffer, 5) 20 self.assertEqual(NSOpenGLPFAStereo, 6) 21 self.assertEqual(NSOpenGLPFAAuxBuffers, 7) 22 self.assertEqual(NSOpenGLPFAColorSize, 8) 23 self.assertEqual(NSOpenGLPFAAlphaSize, 11) 24 self.assertEqual(NSOpenGLPFADepthSize, 12) 25 self.assertEqual(NSOpenGLPFAStencilSize, 13) 26 self.assertEqual(NSOpenGLPFAAccumSize, 14) 27 self.assertEqual(NSOpenGLPFAMinimumPolicy, 51) 28 self.assertEqual(NSOpenGLPFAMaximumPolicy, 52) 29 self.assertEqual(NSOpenGLPFAOffScreen, 53) 30 self.assertEqual(NSOpenGLPFAFullScreen, 54) 31 self.assertEqual(NSOpenGLPFASampleBuffers, 55) 32 self.assertEqual(NSOpenGLPFASamples, 56) 33 self.assertEqual(NSOpenGLPFAAuxDepthStencil, 57) 34 self.assertEqual(NSOpenGLPFAColorFloat, 58) 35 self.assertEqual(NSOpenGLPFAMultisample, 59) 36 self.assertEqual(NSOpenGLPFASupersample, 60) 37 self.assertEqual(NSOpenGLPFASampleAlpha, 61) 38 self.assertEqual(NSOpenGLPFARendererID, 70) 39 self.assertEqual(NSOpenGLPFASingleRenderer, 71) 40 self.assertEqual(NSOpenGLPFANoRecovery, 72) 41 self.assertEqual(NSOpenGLPFAAccelerated, 73) 42 self.assertEqual(NSOpenGLPFAClosestPolicy, 74) 43 self.assertEqual(NSOpenGLPFARobust, 75) 44 self.assertEqual(NSOpenGLPFABackingStore, 76) 45 self.assertEqual(NSOpenGLPFAMPSafe, 78) 46 self.assertEqual(NSOpenGLPFAWindow, 80) 47 self.assertEqual(NSOpenGLPFAMultiScreen, 81) 48 self.assertEqual(NSOpenGLPFACompliant, 83) 49 self.assertEqual(NSOpenGLPFAScreenMask, 84) 50 self.assertEqual(NSOpenGLPFAPixelBuffer, 90) 51 self.assertEqual(NSOpenGLPFAVirtualScreenCount, 128) 52 53 54 self.assertEqual(NSOpenGLCPSwapRectangle, 200) 55 self.assertEqual(NSOpenGLCPSwapRectangleEnable, 201) 56 self.assertEqual(NSOpenGLCPRasterizationEnable, 221) 57 self.assertEqual(NSOpenGLCPSwapInterval, 222) 58 self.assertEqual(NSOpenGLCPSurfaceOrder, 235) 59 self.assertEqual(NSOpenGLCPSurfaceOpacity, 236) 60 self.assertEqual(NSOpenGLCPStateValidation, 301) 61 62 @min_os_level("10.5") 63 def testConstants10_5(self): 64 self.assertEqual(NSOpenGLPFAAllowOfflineRenderers, 96) 65 66 @min_os_level("10.7") 67 def testConstants10_7(self): 68 self.assertEqual(NSOpenGLPFAOpenGLProfile, 99) 69 self.assertEqual(NSOpenGLProfileVersionLegacy, 0x1000) 70 self.assertEqual(NSOpenGLProfileVersion3_2Core, 0x3200) 71 72 73 def testFunctions(self): 74 major, minor = NSOpenGLGetVersion(None, None) 75 self.assertIsInstance(major, (int, long)) 76 self.assertIsInstance(minor, (int, long)) 77 78 self.assertArgIsOut(NSOpenGLGetOption, 1) 79 v = NSOpenGLGetOption(NSOpenGLGOFormatCacheSize, None) 80 self.assertIsInstance(v, (int, long)) 81 82 NSOpenGLSetOption(NSOpenGLGOFormatCacheSize, v) 83 84 def testMethods(self): 85 self.assertArgIsNullTerminated(NSOpenGLPixelFormat.initWithAttributes_, 0) 86 self.assertArgIsIn(NSOpenGLPixelFormat.initWithAttributes_, 0) 87 88 o = NSOpenGLPixelFormat.alloc().initWithAttributes_([NSOpenGLPFANoRecovery, NSOpenGLPFAAuxBuffers, 2]) 89 self.assertIsInstance(o, NSOpenGLPixelFormat) 90 91 #FIXME: I'm not entirely sure this test is correct. 92 self.assertArgIsOut(NSOpenGLPixelFormat.getValues_forAttribute_forVirtualScreen_, 0) 93 v = o.getValues_forAttribute_forVirtualScreen_( 94 None, NSOpenGLPFANoRecovery, 0) 95 self.assertIsInstance(v, (int, long)) 96 97 self.assertResultHasType(NSOpenGLPixelFormat.CGLPixelFormatObj, 98 b'^{_CGLPixelFormatObject}') 99 100 self.assertResultHasType(NSOpenGLContext.CGLContextObj, 101 b'^{_CGLContextObj}') 102 103 @min_os_level('10.6') 104 def testMethods10_6(self): 105 self.assertArgHasType(NSOpenGLPixelFormat.initWithCGLPixelFormatObj_, 0, b'^{_CGLPixelFormatObject}') 106 self.assertArgHasType(NSOpenGLPixelFormat.initWithCGLBufferObj, 0, b'^{_CGLBufferObject}') 107 self.assertResultHasType(NSOpenGLPixelFormat.CGLBufferObj, b'^{_CGLBufferObject}') 108 109 @min_os_level('10.6') 110 def testMethods10_6(self): 111 self.assertEqual(NSOpenGLPFARemotePixelBuffer, 91) 112 self.assertEqual(NSOpenGLPFAAcceleratedCompute, 97) 113 114 115if __name__ == "__main__": 116 main() 117