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

Test: ../../resources/webgl_test_files/conformance2/misc/object-deletion-behaviour-2.html
[ 1: PASS ] bufferBaseUniform is non-null.
[ 2: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.bindBufferBase(gl.UNIFORM_BUFFER, 0, bufferBaseUniform)
[ 3: FAIL ] gl.getParameter(gl.UNIFORM_BUFFER_BINDING) should be [object WebGLBuffer]. Was null.
[ 4: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.deleteBuffer(bufferBaseUniform)
[ 5: PASS ] gl.isBuffer(bufferBaseUniform) is false
[ 6: PASS ] gl.getParameter(gl.UNIFORM_BUFFER_BINDING) is null
[ 7: FAIL ] getError expected: INVALID_OPERATION. Was INVALID_ENUM : after evaluating: gl.bindBufferBase(gl.UNIFORM_BUFFER, 0, bufferBaseUniform)
[ 8: PASS ] gl.getParameter(gl.UNIFORM_BUFFER_BINDING) is null
[ 9: PASS ] bufferBaseTransformFeedback is non-null.
[ 10: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.bindBufferBase(gl.TRANSFORM_FEEDBACK_BUFFER, 0, bufferBaseTransformFeedback)
[ 11: PASS ] gl.getParameter(gl.TRANSFORM_FEEDBACK_BUFFER_BINDING) is bufferBaseTransformFeedback
[ 12: PASS ] getError was expected value: NO_ERROR : after evaluating: gl.deleteBuffer(bufferBaseTransformFeedback)
[ 13: PASS ] gl.isBuffer(bufferBaseTransformFeedback) is false
[ 14: PASS ] gl.getParameter(gl.TRANSFORM_FEEDBACK_BUFFER_BINDING) is null
[ 15: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.bindBufferBase(gl.TRANSFORM_FEEDBACK_BUFFER, 0, bufferBaseTransformFeedback)
[ 16: PASS ] gl.getParameter(gl.TRANSFORM_FEEDBACK_BUFFER_BINDING) is null
[ 17: PASS ] bufferRangeUniform is non-null.
[ 18: PASS ] getError was expected value: NO_ERROR : after evaluating: gl.bindBufferRange(gl.UNIFORM_BUFFER, 0, bufferRangeUniform, 0, gl.UNIFORM_BUFFER_OFFSET_ALIGNMENT)
[ 19: FAIL ] gl.getParameter(gl.UNIFORM_BUFFER_BINDING) should be [object WebGLBuffer]. Was null.
[ 20: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.deleteBuffer(bufferRangeUniform)
[ 21: PASS ] gl.isBuffer(bufferRangeUniform) is false
[ 22: PASS ] gl.getParameter(gl.UNIFORM_BUFFER_BINDING) is null
[ 23: FAIL ] getError expected: INVALID_OPERATION. Was INVALID_ENUM : after evaluating: gl.bindBufferRange(gl.UNIFORM_BUFFER, 0, bufferRangeUniform, 0, gl.UNIFORM_BUFFER_OFFSET_ALIGNMENT)
[ 24: PASS ] gl.getParameter(gl.UNIFORM_BUFFER_BINDING) is null
[ 25: PASS ] bufferRangeTransformFeedback is non-null.
[ 26: FAIL ] getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.bindBufferRange(gl.TRANSFORM_FEEDBACK_BUFFER, 0, bufferRangeTransformFeedback, 0, 4)
[ 27: FAIL ] gl.getParameter(gl.TRANSFORM_FEEDBACK_BUFFER_BINDING) should be [object WebGLBuffer]. Was null.
[ 28: PASS ] getError was expected value: NO_ERROR : after evaluating: gl.deleteBuffer(bufferRangeTransformFeedback)
[ 29: PASS ] gl.isBuffer(bufferRangeTransformFeedback) is false
[ 30: PASS ] gl.getParameter(gl.TRANSFORM_FEEDBACK_BUFFER_BINDING) is null
[ 31: FAIL ] getError expected: INVALID_OPERATION. Was NO_ERROR : after evaluating: gl.bindBufferRange(gl.TRANSFORM_FEEDBACK_BUFFER, 0, bufferRangeTransformFeedback, 0, 4)
[ 32: PASS ] gl.getParameter(gl.TRANSFORM_FEEDBACK_BUFFER_BINDING) is null
[ 33: PASS ] sampler is non-null.
[ 34: PASS ] getError was expected value: NO_ERROR : after evaluating: gl.bindSampler(0, sampler)
[ 35: PASS ] gl.getParameter(gl.SAMPLER_BINDING) is sampler
[ 36: PASS ] getError was expected value: NO_ERROR : after evaluating: gl.deleteSampler(sampler)
[ 37: PASS ] gl.isSampler(sampler) is false
[ 38: PASS ] gl.getParameter(gl.SAMPLER_BINDING) is null
[ 39: FAIL ] getError expected: INVALID_OPERATION. Was INVALID_VALUE : after evaluating: gl.bindSampler(0, sampler)
[ 40: FAIL ] gl.getParameter(gl.SAMPLER_BINDING) should be null. Was [object WebGLSampler].
[ 41: PASS ] vertexArray is non-null.
[ 42: PASS ] getError was expected value: NO_ERROR : after evaluating: gl.bindVertexArray(vertexArray)
[ 43: FAIL ] gl.getParameter(gl.VERTEX_ARRAY_BINDING) should be [object WebGLVertexArrayObject]. Was null.
[ 44: PASS ] getError was expected value: NO_ERROR : after evaluating: gl.deleteVertexArray(vertexArray)
[ 45: PASS ] gl.isVertexArray(vertexArray) is false
[ 46: PASS ] gl.getParameter(gl.VERTEX_ARRAY_BINDING) is null
[ 47: PASS ] getError was expected value: INVALID_OPERATION : after evaluating: gl.bindVertexArray(vertexArray)
[ 48: PASS ] gl.getParameter(gl.VERTEX_ARRAY_BINDING) is null
[ 49: PASS ] transformFeedback is non-null.
[ 50: FAIL ] getError expected: NO_ERROR. Was INVALID_VALUE : after evaluating: gl.bindTransformFeedback(gl.TRANSFORM_FEEDBACK, transformFeedback)
[ 51: FAIL ] gl.getParameter(gl.TRANSFORM_FEEDBACK_BINDING) should be [object WebGLTransformFeedback]. Was null.
[ 52: PASS ] getError was expected value: NO_ERROR : after evaluating: gl.deleteTransformFeedback(transformFeedback)
[ 53: PASS ] gl.isTransformFeedback(transformFeedback) is false
[ 54: PASS ] gl.getParameter(gl.TRANSFORM_FEEDBACK_BINDING) is null
[ 55: FAIL ] getError expected: INVALID_OPERATION. Was INVALID_VALUE : after evaluating: gl.bindTransformFeedback(gl.TRANSFORM_FEEDBACK, transformFeedback)
[ 56: PASS ] gl.getParameter(gl.TRANSFORM_FEEDBACK_BINDING) is null
[ 57: PASS ] successfullyParsed is true
[ FAIL ] 17 failures reported

