DSDSWeb/static/js/Cesium-1.53/Specs/Renderer/RenderbufferSpec.js

122 lines
3.3 KiB
JavaScript

defineSuite([
'Renderer/Renderbuffer',
'Renderer/ContextLimits',
'Renderer/RenderbufferFormat',
'Specs/createContext'
], function(
Renderbuffer,
ContextLimits,
RenderbufferFormat,
createContext) {
'use strict';
var context;
var renderbuffer;
beforeAll(function() {
context = createContext();
});
afterAll(function() {
context.destroyForSpecs();
});
afterEach(function() {
renderbuffer = renderbuffer && renderbuffer.destroy();
});
it('creates', function() {
renderbuffer = new Renderbuffer({
context : context,
format : RenderbufferFormat.DEPTH_COMPONENT16,
width : 64,
height : 32
});
expect(renderbuffer.format).toEqual(RenderbufferFormat.DEPTH_COMPONENT16);
expect(renderbuffer.width).toEqual(64);
expect(renderbuffer.height).toEqual(32);
});
it('creates with defaults', function() {
renderbuffer = new Renderbuffer({
context : context
});
expect(renderbuffer.format).toEqual(RenderbufferFormat.RGBA4);
expect(renderbuffer.width).toEqual(context.canvas.clientWidth);
expect(renderbuffer.height).toEqual(context.canvas.clientHeight);
});
it('destroys', function() {
var r = new Renderbuffer({
context : context
});
expect(r.isDestroyed()).toEqual(false);
r.destroy();
expect(r.isDestroyed()).toEqual(true);
});
it('throws when created with invalid format', function() {
expect(function() {
renderbuffer = new Renderbuffer({
context : context,
format : 'invalid format'
});
}).toThrowDeveloperError();
});
it('throws when created with small width', function() {
expect(function() {
renderbuffer = new Renderbuffer({
context : context,
width : 0
});
}).toThrowDeveloperError();
});
it('throws when created with large width', function() {
expect(function() {
renderbuffer = new Renderbuffer({
context : context,
width : ContextLimits.maximumRenderbufferSize + 1
});
}).toThrowDeveloperError();
});
it('throws when created with small height', function() {
expect(function() {
renderbuffer = new Renderbuffer({
context : context,
height : 0
});
}).toThrowDeveloperError();
});
it('throws when created with large height', function() {
expect(function() {
renderbuffer = new Renderbuffer({
context : context,
height : ContextLimits.maximumRenderbufferSize + 1
});
}).toThrowDeveloperError();
});
it('throws when fails to destroy', function() {
var r = new Renderbuffer({
context : context
});
r.destroy();
expect(function() {
r.destroy();
}).toThrowDeveloperError();
});
it('throws when there is no context', function() {
expect(function() {
return new Renderbuffer();
}).toThrowDeveloperError();
});
}, 'WebGL');