| <!-- |
| Copyright (c) 2020 The Khronos Group Inc. |
| Use of this source code is governed by an MIT-style license that can be |
| found in the LICENSE.txt file. |
| --> |
| |
| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <link rel="stylesheet" href="../../resources/js-test-style.css"/> |
| <script src="../../js/js-test-pre.js"></script> |
| <script src="../../js/webgl-test-utils.js"></script> |
| </head> |
| <body> |
| <div id="description"></div> |
| <div id="console"></div> |
| <script> |
| "use strict"; |
| |
| // Global declarations so that "shouldBe" can eval with them: |
| let gl; |
| |
| (function() { |
| description('Check that zero-sized canvases work with WebGL.'); |
| |
| testZero(); |
| |
| finishTest(); |
| })(); |
| |
| function testZero() { |
| const canvas = document.createElement('canvas'); |
| canvas.width = 0; |
| canvas.height = 0; |
| gl = WebGLTestUtils.create3DContext(canvas); |
| |
| expectTrue(gl, `Context creation with ${canvas.width}x${canvas.height} canvas should succeed.`); |
| shouldBe('gl.drawingBufferWidth', '1'); |
| shouldBe('gl.drawingBufferHeight', '1'); |
| shouldBeFalse('gl.isContextLost()'); |
| |
| const version = gl.getParameter(gl.VERSION); |
| expectTrue(version && version.length, `getParameter() should return something.`); |
| |
| debug('canvas.width = 2'); |
| canvas.width = 2; |
| shouldBe('gl.drawingBufferWidth', '2'); |
| shouldBeFalse('gl.isContextLost()'); |
| |
| debug('canvas.width = 0'); |
| canvas.width = 0; |
| shouldBe('gl.drawingBufferWidth', '1'); |
| shouldBeFalse('gl.isContextLost()'); |
| } |
| |
| </script> |
| </body> |
| </html> |