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