def testCompileCompilesShader(self, mockGl): shader = VertexShader(['src']) shader.getCompileStatus = lambda: True shader.getInfoLog = lambda: 'compilemessage' shader.compile() self.assertEquals(mockGl.glCompileShader.call_args[0], (shader.id,))
def testCompileRaisesOnFail(self): shader = VertexShader(['badsrc']) shader.getCompileStatus = lambda: False shader.getInfoLog = lambda: 'errormessage' try: shader.compile() self.fail('should raise') except CompileError, e: self.assertTrue('errormessage' in str(e))
def testCompileCreatesShaders(self, mockGl): mockGl.glCreateShader.return_value = 123 shader = VertexShader(['src']) shader.getCompileStatus = lambda: True shader.getInfoLog = DoNothing shader.compile() self.assertTrue(mockGl.glCreateShader.called) self.assertEquals(mockGl.glCreateShader.call_args[0], (shader.type,)) self.assertEquals(shader.id, 123)
def testCompileSetsShaderSource(self, mockGl): sources = ['one', 'two', 'three'] shader = VertexShader(sources) shader.getCompileStatus = lambda: True shader.compile() args = mockGl.glShaderSource.call_args[0] self.assertEquals(args[:2], (shader.id, 3)) dirarg = args[2]._objects['0'] actualSources = [dirarg[key] for key in sorted(dirarg.keys())] self.assertEquals(actualSources, sources) self.assertTrue(args[3] is None)