75 lines
2.4 KiB
JavaScript
75 lines
2.4 KiB
JavaScript
|
|
defineSuite([
|
||
|
|
'Widgets/VRButton/VRButtonViewModel',
|
||
|
|
'Core/Fullscreen',
|
||
|
|
'Specs/createScene'
|
||
|
|
], function(
|
||
|
|
VRButtonViewModel,
|
||
|
|
Fullscreen,
|
||
|
|
createScene) {
|
||
|
|
'use strict';
|
||
|
|
|
||
|
|
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();
|
||
|
|
});
|
||
|
|
});
|