122 lines
3.3 KiB
JavaScript
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');
|