import { Fullscreen } from "../../../Source/Cesium.js";
|
import createScene from "../../createScene.js";
|
import { VRButtonViewModel } from "../../../Source/Cesium.js";
|
|
describe("Widgets/VRButton/VRButtonViewModel", function () {
|
var scene;
|
|
beforeEach(function () {
|
scene = createScene();
|
});
|
|
afterEach(function () {
|
scene.destroyForSpecs();
|
});
|
|
it("constructor sets default values", function () {
|
var viewModel = new VRButtonViewModel(scene);
|
expect(viewModel.vrElement).toBe(document.body);
|
expect(viewModel.isDestroyed()).toEqual(false);
|
viewModel.destroy();
|
expect(viewModel.isDestroyed()).toEqual(true);
|
});
|
|
it("constructor sets expected values", function () {
|
var testElement = document.createElement("span");
|
var viewModel = new VRButtonViewModel(scene, testElement);
|
expect(viewModel.vrElement).toBe(testElement);
|
viewModel.destroy();
|
});
|
|
it("constructor can take an element id", function () {
|
var testElement = document.createElement("span");
|
testElement.id = "testElement";
|
document.body.appendChild(testElement);
|
var viewModel = new VRButtonViewModel(scene, "testElement");
|
expect(viewModel.vrElement).toBe(testElement);
|
viewModel.destroy();
|
document.body.removeChild(testElement);
|
});
|
|
it("isVREnabled work as expected", function () {
|
var viewModel = new VRButtonViewModel(scene);
|
expect(viewModel.isVREnabled).toEqual(Fullscreen.enabled);
|
viewModel.isVREnabled = false;
|
expect(viewModel.isVREnabled).toEqual(false);
|
viewModel.destroy();
|
});
|
|
it("can get and set vrElement", function () {
|
var testElement = document.createElement("span");
|
var viewModel = new VRButtonViewModel(scene);
|
expect(viewModel.vrElement).not.toBe(testElement);
|
viewModel.vrElement = testElement;
|
expect(viewModel.vrElement).toBe(testElement);
|
});
|
|
it("throws when constructed without a scene", function () {
|
expect(function () {
|
return new VRButtonViewModel();
|
}).toThrowDeveloperError();
|
});
|
|
it("throws is setting vrElement is not an Element", function () {
|
var viewModel = new VRButtonViewModel(scene);
|
expect(function () {
|
viewModel.vrElement = {};
|
}).toThrowDeveloperError();
|
});
|
});
|