DSDSServer2024/build/build.20240805/static/js/Cesium-1.53/Specs/Widgets/SceneModePicker/SceneModePickerViewModelSpe...

109 lines
3.2 KiB
JavaScript
Raw Normal View History

defineSuite([
'Widgets/SceneModePicker/SceneModePickerViewModel',
'Core/Ellipsoid',
'Scene/Globe',
'Scene/SceneMode',
'Specs/createScene'
], function(
SceneModePickerViewModel,
Ellipsoid,
Globe,
SceneMode,
createScene) {
'use strict';
var scene;
var ellipsoid = Ellipsoid.WGS84;
beforeEach(function() {
scene = createScene();
var globe = new Globe(ellipsoid);
scene.globe = globe;
});
afterEach(function() {
scene.destroyForSpecs();
});
it('Can construct and destroy', function() {
var viewModel = new SceneModePickerViewModel(scene, 1.0);
expect(viewModel.scene).toBe(scene);
expect(viewModel.duration).toEqual(1.0);
expect(scene.morphStart.numberOfListeners).toEqual(1);
expect(viewModel.isDestroyed()).toEqual(false);
viewModel.destroy();
expect(viewModel.isDestroyed()).toEqual(true);
expect(scene.morphStart.numberOfListeners).toEqual(0);
});
it('dropDownVisible and toggleDropDown work', function() {
var viewModel = new SceneModePickerViewModel(scene);
expect(viewModel.dropDownVisible).toEqual(false);
viewModel.toggleDropDown();
expect(viewModel.dropDownVisible).toEqual(true);
viewModel.dropDownVisible = false;
expect(viewModel.dropDownVisible).toEqual(false);
viewModel.destroy();
});
it('morphing closes the dropDown', function() {
var viewModel = new SceneModePickerViewModel(scene);
viewModel.dropDownVisible = true;
viewModel.morphToColumbusView();
expect(viewModel.dropDownVisible).toEqual(false);
viewModel.dropDownVisible = true;
viewModel.morphTo3D();
expect(viewModel.dropDownVisible).toEqual(false);
viewModel.dropDownVisible = true;
viewModel.morphTo2D();
expect(viewModel.dropDownVisible).toEqual(false);
viewModel.destroy();
});
it('morphing calls correct transition', function() {
var viewModel = new SceneModePickerViewModel(scene);
expect(scene.mode).toEqual(SceneMode.SCENE3D);
viewModel.morphToColumbusView();
scene.completeMorph();
expect(scene.mode).toEqual(SceneMode.COLUMBUS_VIEW);
viewModel.morphTo3D();
scene.completeMorph();
expect(scene.mode).toEqual(SceneMode.SCENE3D);
viewModel.morphTo2D();
scene.completeMorph();
expect(scene.mode).toEqual(SceneMode.SCENE2D);
viewModel.destroy();
});
it('selectedTooltip changes on transition', function() {
var viewModel = new SceneModePickerViewModel(scene);
viewModel.morphToColumbusView();
expect(viewModel.selectedTooltip).toEqual(viewModel.tooltipColumbusView);
viewModel.morphTo3D();
expect(viewModel.selectedTooltip).toEqual(viewModel.tooltip3D);
viewModel.morphTo2D();
expect(viewModel.selectedTooltip).toEqual(viewModel.tooltip2D);
viewModel.destroy();
});
it('create throws with undefined scene', function() {
expect(function() {
return new SceneModePickerViewModel();
}).toThrowDeveloperError();
});
}, 'WebGL');