ailed("Invalid error flagged by drawElements. Should be INVALID_OPERATION or NO_ERROR");
    }

    debug("Test that client data is always copied during bufferData and bufferSubData calls");

    indices[5] = 1;
    gl.drawElements(gl.TRIANGLES, 6, gl.UNSIGNED_INT, 0);
    var error = gl.getError();
    if (error === gl.INVALID_OPERATION) {
        testPassed("drawElements flagged INVALID_OPERATION, which is valid so long as all canvas pixels were not touched.");
        wtu.checkCanvas(gl, [0, 0, 255, 255]