mirror of
https://github.com/visgl/luma.gl.git
synced 2025-12-08 17:36:19 +00:00
75 lines
1.9 KiB
JavaScript
75 lines
1.9 KiB
JavaScript
import test from 'tape-catch';
|
|
import GL from '@luma.gl/constants';
|
|
import {Renderbuffer, getKey} from '@luma.gl/webgl';
|
|
|
|
import RENDERBUFFER_FORMATS from '@luma.gl/webgl/classes/renderbuffer-formats';
|
|
|
|
import {fixture} from 'test/setup';
|
|
|
|
// const WEBGL1_FORMATS = [GL.RGB, GL.RGBA, GL.LUMINANCE_ALPHA, GL.LUMINANCE, GL.ALPHA];
|
|
|
|
test('WebGL#Renderbuffer construct/delete', t => {
|
|
const {gl} = fixture;
|
|
|
|
t.throws(
|
|
() => new Renderbuffer(),
|
|
/.*WebGLRenderingContext.*/,
|
|
'Renderbuffer throws on missing gl context'
|
|
);
|
|
|
|
const renderbuffer = new Renderbuffer(gl, {format: GL.DEPTH_COMPONENT16, width: 1, height: 1});
|
|
t.ok(renderbuffer instanceof Renderbuffer, 'Renderbuffer construction successful');
|
|
|
|
renderbuffer.delete();
|
|
t.ok(renderbuffer instanceof Renderbuffer, 'Renderbuffer delete successful');
|
|
|
|
renderbuffer.delete();
|
|
t.ok(renderbuffer instanceof Renderbuffer, 'Renderbuffer repeated delete successful');
|
|
|
|
t.end();
|
|
});
|
|
|
|
test('WebGL#Renderbuffer format creation', t => {
|
|
const {gl} = fixture;
|
|
|
|
for (let format in RENDERBUFFER_FORMATS) {
|
|
format = Number(format);
|
|
if (Renderbuffer.isSupported(gl, {format})) {
|
|
const renderbuffer = new Renderbuffer(gl, {format});
|
|
t.equals(
|
|
renderbuffer.format,
|
|
format,
|
|
`Renderbuffer(${getKey(gl, format)}) created with correct format`
|
|
);
|
|
renderbuffer.delete();
|
|
}
|
|
}
|
|
|
|
t.end();
|
|
});
|
|
|
|
test('WebGL2#Renderbuffer format creation', t => {
|
|
const {gl2} = fixture;
|
|
|
|
if (!gl2) {
|
|
t.comment('WebGL2 not available, skipping tests');
|
|
t.end();
|
|
return;
|
|
}
|
|
|
|
for (const format_ in RENDERBUFFER_FORMATS) {
|
|
const format = Number(format_);
|
|
if (Renderbuffer.isSupported(gl2, {format})) {
|
|
const renderbuffer = new Renderbuffer(gl2, {format});
|
|
t.equals(
|
|
renderbuffer.format,
|
|
format,
|
|
`Renderbuffer(${getKey(gl2, format)}) created with correct format`
|
|
);
|
|
renderbuffer.delete();
|
|
}
|
|
}
|
|
|
|
t.end();
|
|
});
|