mirror of
https://github.com/mapillary/mapillary-js.git
synced 2025-12-08 17:35:55 +00:00
Separate token and provider options. Rename viewer token method for clarity. Use access token wording everywhere.
229 lines
7.3 KiB
TypeScript
229 lines
7.3 KiB
TypeScript
import { bootstrap } from "../../Bootstrap";
|
|
bootstrap();
|
|
|
|
import { ImageHelper } from "../../helper/ImageHelper";
|
|
|
|
import { Navigator } from "../../../src/viewer/Navigator";
|
|
import { Image } from "../../../src/graph/Image";
|
|
import { DirectionDOMRenderer } from "../../../src/component/direction/DirectionDOMRenderer";
|
|
import { DirectionConfiguration } from "../../../src/component/interfaces/DirectionConfiguration";
|
|
import { RenderCamera } from "../../../src/render/RenderCamera";
|
|
import { AnimationFrame } from "../../../src/state/interfaces/AnimationFrame";
|
|
import { FrameHelper } from "../../helper/FrameHelper";
|
|
import { RenderMode } from "../../../src/render/RenderMode";
|
|
|
|
describe("DirectionDOMRenderer.ctor", () => {
|
|
it("should be defined", () => {
|
|
let configuration: DirectionConfiguration = {
|
|
distinguishSequence: false,
|
|
maxWidth: 200,
|
|
minWidth: 100,
|
|
};
|
|
|
|
let renderer: DirectionDOMRenderer = new DirectionDOMRenderer(configuration, { height: 1, width: 1 });
|
|
|
|
expect(renderer).toBeDefined();
|
|
});
|
|
});
|
|
|
|
describe("DirectionDOMRenderer.needsRender", () => {
|
|
let helper: ImageHelper;
|
|
|
|
beforeEach(() => {
|
|
helper = new ImageHelper();
|
|
});
|
|
|
|
it("should not need render when constructed", () => {
|
|
let configuration: DirectionConfiguration = {
|
|
distinguishSequence: false,
|
|
maxWidth: 200,
|
|
minWidth: 100,
|
|
};
|
|
|
|
let renderer: DirectionDOMRenderer = new DirectionDOMRenderer(configuration, { height: 1, width: 1 });
|
|
|
|
expect(renderer.needsRender).toBe(false);
|
|
});
|
|
|
|
it("should need render when image is set", () => {
|
|
let configuration: DirectionConfiguration = {
|
|
distinguishSequence: false,
|
|
maxWidth: 200,
|
|
minWidth: 100,
|
|
};
|
|
|
|
let renderer: DirectionDOMRenderer = new DirectionDOMRenderer(configuration, { height: 1, width: 1 });
|
|
|
|
let image: Image = new Image(helper.createCoreImageEnt());
|
|
image.makeComplete(helper.createSpatialImageEnt());
|
|
|
|
renderer.setImage(image);
|
|
|
|
expect(renderer.needsRender).toBe(true);
|
|
});
|
|
|
|
it("should not need render after rendering", () => {
|
|
let configuration: DirectionConfiguration = {
|
|
distinguishSequence: false,
|
|
maxWidth: 200,
|
|
minWidth: 100,
|
|
};
|
|
|
|
let renderer: DirectionDOMRenderer = new DirectionDOMRenderer(configuration, { height: 1, width: 1 });
|
|
|
|
let image: Image = new Image(helper.createCoreImageEnt());
|
|
image.makeComplete(helper.createSpatialImageEnt());
|
|
|
|
renderer.setImage(image);
|
|
|
|
expect(renderer.needsRender).toBe(true);
|
|
|
|
let navigator: Navigator = new Navigator({
|
|
container: "containerid",
|
|
});
|
|
|
|
renderer.render(navigator);
|
|
|
|
expect(renderer.needsRender).toBe(false);
|
|
});
|
|
|
|
it("should not need render when setting render camera without image set", () => {
|
|
let configuration: DirectionConfiguration = {
|
|
distinguishSequence: false,
|
|
maxWidth: 200,
|
|
minWidth: 100,
|
|
};
|
|
|
|
let renderer: DirectionDOMRenderer = new DirectionDOMRenderer(configuration, { height: 1, width: 1 });
|
|
|
|
let renderCamera: RenderCamera = new RenderCamera(1, 1, RenderMode.Fill);
|
|
renderCamera.camera.up.fromArray([0, 0, 1]);
|
|
renderCamera.camera.lookat.fromArray([1, 1, 0]);
|
|
renderer.setRenderCamera(renderCamera);
|
|
|
|
expect(renderer.needsRender).toBe(false);
|
|
});
|
|
|
|
it("should not need render when setting configuration without image set", () => {
|
|
let configuration: DirectionConfiguration = {
|
|
distinguishSequence: false,
|
|
maxWidth: 200,
|
|
minWidth: 100,
|
|
};
|
|
|
|
let renderer: DirectionDOMRenderer = new DirectionDOMRenderer(configuration, { height: 1, width: 1 });
|
|
|
|
configuration.maxWidth = 300;
|
|
renderer.setConfiguration(configuration);
|
|
|
|
expect(renderer.needsRender).toBe(false);
|
|
});
|
|
|
|
it("should not need render when resizing without image set", () => {
|
|
let configuration: DirectionConfiguration = {
|
|
distinguishSequence: false,
|
|
maxWidth: 200,
|
|
minWidth: 100,
|
|
};
|
|
|
|
let renderer: DirectionDOMRenderer = new DirectionDOMRenderer(configuration, { height: 1, width: 1 });
|
|
|
|
renderer.resize({ height: 1, width: 1 });
|
|
|
|
expect(renderer.needsRender).toBe(false);
|
|
});
|
|
|
|
it("should need render when setting changed render camera if image is set", () => {
|
|
let configuration: DirectionConfiguration = {
|
|
distinguishSequence: false,
|
|
maxWidth: 200,
|
|
minWidth: 100,
|
|
};
|
|
|
|
let renderer: DirectionDOMRenderer = new DirectionDOMRenderer(configuration, { height: 1, width: 1 });
|
|
|
|
let image: Image = new Image(helper.createCoreImageEnt());
|
|
image.makeComplete(helper.createSpatialImageEnt());
|
|
|
|
renderer.setImage(image);
|
|
|
|
expect(renderer.needsRender).toBe(true);
|
|
|
|
let navigator: Navigator = new Navigator({
|
|
container: "containerid",
|
|
});
|
|
|
|
renderer.render(navigator);
|
|
|
|
expect(renderer.needsRender).toBe(false);
|
|
|
|
let renderCamera: RenderCamera = new RenderCamera(1, 1, RenderMode.Fill);
|
|
const frame: AnimationFrame = new FrameHelper().createFrame();
|
|
frame.state.camera.up.fromArray([0, 0, 1]);
|
|
frame.state.camera.lookat.fromArray([1, 1, 0]);
|
|
renderCamera.setFrame(frame);
|
|
renderer.setRenderCamera(renderCamera);
|
|
|
|
expect(renderer.needsRender).toBe(true);
|
|
});
|
|
|
|
it("should need render when setting changed configuration if image is set", () => {
|
|
let configuration: DirectionConfiguration = {
|
|
distinguishSequence: false,
|
|
maxWidth: 200,
|
|
minWidth: 100,
|
|
};
|
|
|
|
let renderer: DirectionDOMRenderer = new DirectionDOMRenderer(configuration, { height: 1, width: 1 });
|
|
|
|
let image: Image = new Image(helper.createCoreImageEnt());
|
|
image.makeComplete(helper.createSpatialImageEnt());
|
|
|
|
renderer.setImage(image);
|
|
|
|
expect(renderer.needsRender).toBe(true);
|
|
|
|
let navigator: Navigator = new Navigator({
|
|
container: "containerid",
|
|
});
|
|
|
|
renderer.render(navigator);
|
|
|
|
expect(renderer.needsRender).toBe(false);
|
|
|
|
configuration.maxWidth = 300;
|
|
renderer.setConfiguration(configuration);
|
|
|
|
expect(renderer.needsRender).toBe(true);
|
|
});
|
|
|
|
it("should need render when resizing if image is set", () => {
|
|
let configuration: DirectionConfiguration = {
|
|
distinguishSequence: false,
|
|
maxWidth: 200,
|
|
minWidth: 100,
|
|
};
|
|
|
|
let renderer: DirectionDOMRenderer = new DirectionDOMRenderer(configuration, { height: 1, width: 1 });
|
|
|
|
let image: Image = new Image(helper.createCoreImageEnt());
|
|
image.makeComplete(helper.createSpatialImageEnt());
|
|
|
|
renderer.setImage(image);
|
|
|
|
expect(renderer.needsRender).toBe(true);
|
|
|
|
let navigator: Navigator = new Navigator({
|
|
container: "containerid",
|
|
});
|
|
|
|
renderer.render(navigator);
|
|
|
|
expect(renderer.needsRender).toBe(false);
|
|
|
|
renderer.resize({ height: 1, width: 1 });
|
|
|
|
expect(renderer.needsRender).toBe(true);
|
|
});
|
|
});
|