<!doctype html>
<title>compressedTexSubImage2D</title>
<link rel=author href=mailto:Ms2ger@gmail.com title=Ms2ger>
<link rel=help href=https://www.khronos.org/registry/webgl/specs/latest/#5.14.8>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=common.js></script>

<div id=log></div>
<script>
test(function() {
  var COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0;
  var gl = getGl();

  var tex = gl.createTexture();
  gl.bindTexture(gl.TEXTURE_2D, tex);

  shouldGenerateGLError(gl, gl.INVALID_ENUM, function() {
    gl.compressedTexSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 10, 10, COMPRESSED_RGB_S3TC_DXT1_EXT, new Uint8Array(8));
  });
  shouldGenerateGLError(gl, gl.INVALID_ENUM, function() {
    gl.compressedTexSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 10, 10, COMPRESSED_RGB_S3TC_DXT1_EXT, new Uint8Array(8), null);
  });
  test(function() {
    assert_throws(new TypeError(), function() {
      gl.compressedTexSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 10, 10, COMPRESSED_RGB_S3TC_DXT1_EXT);
    });
  }, "Should throw a TypeError when passing too few arguments.");
});
</script>
