mapillary-js/spec/render/RenderCamera.spec.ts
Oscar Lorentzon 11db76868b Make render camera changed handling robust.
Do not expect that the next frame is a successive integer.
Unit test render camera changed handling.
2016-04-04 09:34:57 +02:00

55 lines
1.6 KiB
TypeScript

/// <reference path="../../typings/browser.d.ts" />
import * as THREE from "three";
import {Camera} from "../../src/Geo";
import {RenderCamera, RenderMode} from "../../src/Render";
describe("RenderCamera.ctor", () => {
it("should be defined", () => {
let renderCamera: RenderCamera = new RenderCamera(1, RenderMode.Letterbox);
expect(renderCamera).toBeDefined();
});
});
describe("RenderCamera.updateProjection", () => {
it("should not be changed when not updated", () => {
let renderCamera: RenderCamera = new RenderCamera(1, RenderMode.Letterbox);
renderCamera.frameId = 0;
expect(renderCamera.changed).toBe(false);
});
it("should be changed when projection has been updated", () => {
let renderCamera: RenderCamera = new RenderCamera(1, RenderMode.Letterbox);
renderCamera.updateProjection();
renderCamera.frameId = 0;
expect(renderCamera.changed).toBe(true);
});
it("should not be changed when multiple frame ids are set after projection has been updated", () => {
let renderCamera: RenderCamera = new RenderCamera(1, RenderMode.Letterbox);
renderCamera.updateProjection();
renderCamera.frameId = 0;
renderCamera.frameId = 1;
expect(renderCamera.changed).toBe(false);
});
});
describe("RenderCamera.updatePrespective", () => {
it("should be changed when not updated", () => {
let renderCamera: RenderCamera = new RenderCamera(1, RenderMode.Letterbox);
renderCamera.updatePerspective(new Camera());
renderCamera.frameId = 0;
expect(renderCamera.changed).toBe(true);
});
});