Exemplo n.º 1
0
    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,))
Exemplo n.º 2
0
 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))
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
    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)