You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
120 lines
3.1 KiB
JavaScript
120 lines
3.1 KiB
JavaScript
import { ContextLimits } from "../../Source/Cesium.js";
|
|
import { Renderbuffer } from "../../Source/Cesium.js";
|
|
import { RenderbufferFormat } from "../../Source/Cesium.js";
|
|
import createContext from "../createContext.js";
|
|
|
|
describe(
|
|
"Renderer/Renderbuffer",
|
|
function () {
|
|
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"
|
|
);
|