This test runs the WebGL Test listed below in an iframe and reports PASS or FAIL.

Test: ../../resources/webgl_test_files/conformance/misc/bad-arguments-test.html
[ 1: PASS ] Program Compiled
[ 2: PASS ] Shader Compiled
[ 3: PASS ] getUniformLocation succeeded
[ 4: PASS ] context.compileShader(argument) threw exception TypeError: Argument 1 ('shader') to WebGLRenderingContext.compileShader must be an instance of WebGLShader.
[ 5: PASS ] context.linkProgram(argument) threw exception TypeError: Argument 1 ('program') to WebGLRenderingContext.linkProgram must be an instance of WebGLProgram.
[ 6: PASS ] context.attachShader(program, argument) threw exception TypeError: Argument 2 ('shader') to WebGLRenderingContext.attachShader must be an instance of WebGLShader.
[ 7: PASS ] context.attachShader(argument, shader) threw exception TypeError: Argument 1 ('program') to WebGLRenderingContext.attachShader must be an instance of WebGLProgram.
[ 8: PASS ] context.detachShader(program, argument) threw exception TypeError: Argument 2 ('shader') to WebGLRenderingContext.detachShader must be an instance of WebGLShader.
[ 9: PASS ] context.detachShader(argument, shader) threw exception TypeError: Argument 1 ('program') to WebGLRenderingContext.detachShader must be an instance of WebGLProgram.
[ 10: PASS ] context.shaderSource(argument, 'foo') threw exception TypeError: Argument 1 ('shader') to WebGLRenderingContext.shaderSource must be an instance of WebGLShader.
[ 11: PASS ] context.bindAttribLocation(argument, 0, 'foo') threw exception TypeError: Argument 1 ('program') to WebGLRenderingContext.bindAttribLocation must be an instance of WebGLProgram.
[ 12: PASS ] context.getProgramInfoLog(argument) threw exception TypeError: Argument 1 ('program') to WebGLRenderingContext.getProgramInfoLog must be an instance of WebGLProgram.
[ 13: PASS ] context.getProgramParameter(argument, 0) threw exception TypeError: Argument 1 ('program') to WebGLRenderingContext.getProgramParameter must be an instance of WebGLProgram.
[ 14: PASS ] context.getShaderInfoLog(argument) threw exception TypeError: Argument 1 ('shader') to WebGLRenderingContext.getShaderInfoLog must be an instance of WebGLShader.
[ 15: PASS ] context.getShaderParameter(argument, 0) threw exception TypeError: Argument 1 ('shader') to WebGLRenderingContext.getShaderParameter must be an instance of WebGLShader.
[ 16: PASS ] context.getShaderSource(argument) threw exception TypeError: Argument 1 ('shader') to WebGLRenderingContext.getShaderSource must be an instance of WebGLShader.
[ 17: PASS ] context.getUniform(argument, loc) threw exception TypeError: Argument 1 ('program') to WebGLRenderingContext.getUniform must be an instance of WebGLProgram.
[ 18: PASS ] context.getUniform(program, argument) threw exception TypeError: Argument 2 ('location') to WebGLRenderingContext.getUniform must be an instance of WebGLUniformLocation.
[ 19: PASS ] context.getUniformLocation(argument, 'u_modelViewProjMatrix') threw exception TypeError: Argument 1 ('program') to WebGLRenderingContext.getUniformLocation must be an instance of WebGLProgram.
[ 20: PASS ] context.bindBuffer(context.ARRAY_BUFFER, argument) threw exception TypeError: Argument 2 ('buffer') to WebGLRenderingContext.bindBuffer must be an instance of WebGLBuffer.
[ 21: PASS ] context.bindFramebuffer(context.FRAMEBUFFER, argument) threw exception TypeError: Argument 2 ('framebuffer') to WebGLRenderingContext.bindFramebuffer must be an instance of WebGLFramebuffer.
[ 22: PASS ] context.bindRenderbuffer(context.RENDERBUFFER, argument) threw exception TypeError: Argument 2 ('renderbuffer') to WebGLRenderingContext.bindRenderbuffer must be an instance of WebGLRenderbuffer.
[ 23: PASS ] context.bindTexture(context.TEXTURE_2D, argument) threw exception TypeError: Argument 2 ('texture') to WebGLRenderingContext.bindTexture must be an instance of WebGLTexture.
[ 24: PASS ] context.framebufferRenderbuffer(context.FRAMEBUFFER, context.DEPTH_ATTACHMENT, context.RENDERBUFFER, argument) threw exception TypeError: Argument 4 ('renderbuffer') to WebGLRenderingContext.framebufferRenderbuffer must be an instance of WebGLRenderbuffer.
[ 25: PASS ] context.framebufferTexture2D(context.FRAMEBUFFER, context.COLOR_ATTACHMENT0, context.TEXTURE_2D, argument, 0) threw exception TypeError: Argument 4 ('texture') to WebGLRenderingContext.framebufferTexture2D must be an instance of WebGLTexture.
[ 26: PASS ] context.uniform2fv(argument, new Float32Array([0.0, 0.0])) threw exception TypeError: Argument 1 ('location') to WebGLRenderingContext.uniform2fv must be an instance of WebGLUniformLocation.
[ 27: PASS ] context.uniform2iv(argument, new Int32Array([0, 0])) threw exception TypeError: Argument 1 ('location') to WebGLRenderingContext.uniform2iv must be an instance of WebGLUniformLocation.
[ 28: PASS ] context.uniformMatrix2fv(argument, false, new Float32Array([0.0, 0.0, 0.0, 0.0])) threw exception TypeError: Argument 1 ('location') to WebGLRenderingContext.uniformMatrix2fv must be an instance of WebGLUniformLocation.
[ 29: PASS ] context.useProgram(argument) threw exception TypeError: Argument 1 ('program') to WebGLRenderingContext.useProgram must be an instance of WebGLProgram.
[ 30: PASS ] context.compileShader(argument) threw exception TypeError: Argument 1 ('shader') to WebGLRenderingContext.compileShader must be an instance of WebGLShader.
[ 31: PASS ] context.linkProgram(argument) threw exception TypeError: Argument 1 ('program') to WebGLRenderingContext.linkProgram must be an instance of WebGLProgram.
[ 32: PASS ] context.attachShader(program, argument) threw exception TypeError: Argument 2 ('shader') to WebGLRenderingContext.attachShader must be an instance of WebGLShader.
[ 33: PASS ] context.attachShader(argument, shader) threw exception TypeError: Argument 1 ('program') to WebGLRenderingContext.attachShader must be an instance of WebGLProgram.
[ 34: PASS ] context.detachShader(program, argument) threw exception TypeError: Argument 2 ('shader') to WebGLRenderingContext.detachShader must be an instance of WebGLShader.
[ 35: PASS ] context.detachShader(argument, shader) threw exception TypeError: Argument 1 ('program') to WebGLRenderingContext.detachShader must be an instance of WebGLProgram.
[ 36: PASS ] context.shaderSource(argument, 'foo') threw exception TypeError: Argument 1 ('shader') to WebGLRenderingContext.shaderSource must be an instance of WebGLShader.
[ 37: PASS ] context.bindAttribLocation(argument, 0, 'foo') threw exception TypeError: Argument 1 ('program') to WebGLRenderingContext.bindAttribLocation must be an instance of WebGLProgram.
[ 38: PASS ] context.getProgramInfoLog(argument) threw exception TypeError: Argument 1 ('program') to WebGLRenderingContext.getProgramInfoLog must be an instance of WebGLProgram.
[ 39: PASS ] context.getProgramParameter(argument, 0) threw exception TypeError: Argument 1 ('program') to WebGLRenderingContext.getProgramParameter must be an instance of WebGLProgram.
[ 40: PASS ] context.getShaderInfoLog(argument) threw exception TypeError: Argument 1 ('shader') to WebGLRenderingContext.getShaderInfoLog must be an instance of WebGLShader.
[ 41: PASS ] context.getShaderParameter(argument, 0) threw exception TypeError: Argument 1 ('shader') to WebGLRenderingContext.getShaderParameter must be an instance of WebGLShader.
[ 42: PASS ] context.getShaderSource(argument) threw exception TypeError: Argument 1 ('shader') to WebGLRenderingContext.getShaderSource must be an instance of WebGLShader.
[ 43: PASS ] context.getUniform(argument, loc) threw exception TypeError: Argument 1 ('program') to WebGLRenderingContext.getUniform must be an instance of WebGLProgram.
[ 44: PASS ] context.getUniform(program, argument) threw exception TypeError: Argument 2 ('location') to WebGLRenderingContext.getUniform must be an instance of WebGLUniformLocation.
[ 45: PASS ] context.getUniformLocation(argument, 'u_modelViewProjMatrix') threw exception TypeError: Argument 1 ('program') to WebGLRenderingContext.getUniformLocation must be an instance of WebGLProgram.
[ 46: PASS ] context.bindBuffer(context.ARRAY_BUFFER, argument) threw exception TypeError: Argument 2 ('buffer') to WebGLRenderingContext.bindBuffer must be an instance of WebGLBuffer.
[ 47: PASS ] context.bindFramebuffer(context.FRAMEBUFFER, argument) threw exception TypeError: Argument 2 ('framebuffer') to WebGLRenderingContext.bindFramebuffer must be an instance of WebGLFramebuffer.
[ 48: PASS ] context.bindRenderbuffer(context.RENDERBUFFER, argument) threw exception TypeError: Argument 2 ('renderbuffer') to WebGLRenderingContext.bindRenderbuffer must be an instance of WebGLRenderbuffer.
[ 49: PASS ] context.bindTexture(context.TEXTURE_2D, argument) threw exception TypeError: Argument 2 ('texture') to WebGLRenderingContext.bindTexture must be an instance of WebGLTexture.
[ 50: PASS ] context.framebufferRenderbuffer(context.FRAMEBUFFER, context.DEPTH_ATTACHMENT, context.RENDERBUFFER, argument) threw exception TypeError: Argument 4 ('renderbuffer') to WebGLRenderingContext.framebufferRenderbuffer must be an instance of WebGLRenderbuffer.
[ 51: PASS ] context.framebufferTexture2D(context.FRAMEBUFFER, context.COLOR_ATTACHMENT0, context.TEXTURE_2D, argument, 0) threw exception TypeError: Argument 4 ('texture') to WebGLRenderingContext.framebufferTexture2D must be an instance of WebGLTexture.
[ 52: PASS ] context.uniform2fv(argument, new Float32Array([0.0, 0.0])) threw exception TypeError: Argument 1 ('location') to WebGLRenderingContext.uniform2fv must be an instance of WebGLUniformLocation.
[ 53: PASS ] context.uniform2iv(argument, new Int32Array([0, 0])) threw exception TypeError: Argument 1 ('location') to WebGLRenderingContext.uniform2iv must be an instance of WebGLUniformLocation.
[ 54: PASS ] context.uniformMatrix2fv(argument, false, new Float32Array([0.0, 0.0, 0.0, 0.0])) threw exception TypeError: Argument 1 ('location') to WebGLRenderingContext.uniformMatrix2fv must be an instance of WebGLUniformLocation.
[ 55: PASS ] context.useProgram(argument) threw exception TypeError: Argument 1 ('program') to WebGLRenderingContext.useProgram must be an instance of WebGLProgram.
[ 56: FAIL ] context.compileShader(argument) should throw an exception. Was undefined.
[ 57: FAIL ] context.linkProgram(argument) should throw an exception. Was undefined.
[ 58: FAIL ] context.attachShader(program, argument) should throw an exception. Was undefined.
[ 59: FAIL ] context.attachShader(argument, shader) should throw an exception. Was undefined.
[ 60: FAIL ] context.detachShader(program, argument) should throw an exception. Was undefined.
[ 61: FAIL ] context.detachShader(argument, shader) should throw an exception. Was undefined.
[ 62: FAIL ] context.shaderSource(argument, 'foo') should throw an exception. Was undefined.
[ 63: FAIL ] context.bindAttribLocation(argument, 0, 'foo') should throw an exception. Was undefined.
[ 64: FAIL ] context.getProgramInfoLog(argument) should throw an exception. Was null.
[ 65: FAIL ] context.getProgramParameter(argument, 0) should throw an exception. Was null.
[ 66: FAIL ] context.getShaderInfoLog(argument) should throw an exception. Was null.
[ 67: FAIL ] context.getShaderParameter(argument, 0) should throw an exception. Was null.
[ 68: FAIL ] context.getShaderSource(argument) should throw an exception. Was null.
[ 69: FAIL ] context.getUniform(argument, loc) should throw an exception. Was null.
[ 70: FAIL ] context.getUniform(program, argument) should throw an exception. Was null.
[ 71: FAIL ] context.getUniformLocation(argument, 'u_modelViewProjMatrix') should throw an exception. Was null.
[ 72: PASS ] context.bindBuffer(context.ARRAY_BUFFER, argument) is undefined.
[ 73: PASS ] context.bindFramebuffer(context.FRAMEBUFFER, argument) is undefined.
[ 74: PASS ] context.bindRenderbuffer(context.RENDERBUFFER, argument) is undefined.
[ 75: PASS ] context.bindTexture(context.TEXTURE_2D, argument) is undefined.
[ 76: PASS ] context.framebufferRenderbuffer(context.FRAMEBUFFER, context.DEPTH_ATTACHMENT, context.RENDERBUFFER, argument) is undefined.
[ 77: PASS ] context.framebufferTexture2D(context.FRAMEBUFFER, context.COLOR_ATTACHMENT0, context.TEXTURE_2D, argument, 0) is undefined.
[ 78: PASS ] context.uniform2fv(argument, new Float32Array([0.0, 0.0])) is undefined.
[ 79: PASS ] context.uniform2iv(argument, new Int32Array([0, 0])) is undefined.
[ 80: PASS ] context.uniformMatrix2fv(argument, false, new Float32Array([0.0, 0.0, 0.0, 0.0])) is undefined.
[ 81: PASS ] context.useProgram(argument) is undefined.
[ 82: FAIL ] context.compileShader(argument) should throw an exception. Was undefined.
[ 83: FAIL ] context.linkProgram(argument) should throw an exception. Was undefined.
[ 84: FAIL ] context.attachShader(program, argument) should throw an exception. Was undefined.
[ 85: FAIL ] context.attachShader(argument, shader) should throw an exception. Was undefined.
[ 86: FAIL ] context.detachShader(program, argument) should throw an exception. Was undefined.
[ 87: FAIL ] context.detachShader(argument, shader) should throw an exception. Was undefined.
[ 88: FAIL ] context.shaderSource(argument, 'foo') should throw an exception. Was undefined.
[ 89: FAIL ] context.bindAttribLocation(argument, 0, 'foo') should throw an exception. Was undefined.
[ 90: FAIL ] context.getProgramInfoLog(argument) should throw an exception. Was null.
[ 91: FAIL ] context.getProgramParameter(argument, 0) should throw an exception. Was null.
[ 92: FAIL ] context.getShaderInfoLog(argument) should throw an exception. Was null.
[ 93: FAIL ] context.getShaderParameter(argument, 0) should throw an exception. Was null.
[ 94: FAIL ] context.getShaderSource(argument) should throw an exception. Was null.
[ 95: FAIL ] context.getUniform(argument, loc) should throw an exception. Was null.
[ 96: FAIL ] context.getUniform(program, argument) should throw an exception. Was null.
[ 97: FAIL ] context.getUniformLocation(argument, 'u_modelViewProjMatrix') should throw an exception. Was null.
[ 98: PASS ] context.bindBuffer(context.ARRAY_BUFFER, argument) is undefined.
[ 99: PASS ] context.bindFramebuffer(context.FRAMEBUFFER, argument) is undefined.
[ 100: PASS ] context.bindRenderbuffer(context.RENDERBUFFER, argument) is undefined.
[ 101: PASS ] context.bindTexture(context.TEXTURE_2D, argument) is undefined.
[ 102: PASS ] context.framebufferRenderbuffer(context.FRAMEBUFFER, context.DEPTH_ATTACHMENT, context.RENDERBUFFER, argument) is undefined.
[ 103: PASS ] context.framebufferTexture2D(context.FRAMEBUFFER, context.COLOR_ATTACHMENT0, context.TEXTURE_2D, argument, 0) is undefined.
[ 104: PASS ] context.uniform2fv(argument, new Float32Array([0.0, 0.0])) is undefined.
[ 105: PASS ] context.uniform2iv(argument, new Int32Array([0, 0])) is undefined.
[ 106: PASS ] context.uniformMatrix2fv(argument, false, new Float32Array([0.0, 0.0, 0.0, 0.0])) is undefined.
[ 107: PASS ] context.useProgram(argument) is undefined.
[ 108: PASS ] successfullyParsed is true
[ FAIL ] 32 failures reported

