DSDSWeb/static/js/Cesium-1.53/Specs/Widgets/HomeButton/HomeButtonViewModelSpec.js

66 lines
1.8 KiB
JavaScript
Raw Normal View History

2024-07-11 18:02:47 +08:00
defineSuite([
'Widgets/HomeButton/HomeButtonViewModel',
'Core/Ellipsoid',
'Scene/Globe',
'Specs/createScene'
], function(
HomeButtonViewModel,
Ellipsoid,
Globe,
createScene) {
'use strict';
var scene;
var ellipsoid = Ellipsoid.WGS84;
var globe = new Globe(ellipsoid);
beforeAll(function() {
scene = createScene();
scene.globe = globe;
});
afterAll(function() {
scene.destroyForSpecs();
});
it('constructor sets default values', function() {
var viewModel = new HomeButtonViewModel(scene);
expect(viewModel.scene).toBe(scene);
});
it('throws if scene is undefined', function() {
expect(function() {
return new HomeButtonViewModel(undefined);
}).toThrowDeveloperError();
});
//These remaining tests are sanity checks to make sure the code executes
//The actual position of the camera at the end of the command is
//tied to the implementation of various camera features.
it('works in 3D', function() {
scene.render();
var viewModel = new HomeButtonViewModel(scene);
viewModel.command();
});
it('works in 2D', function() {
scene.render();
var viewModel = new HomeButtonViewModel(scene);
scene.morphTo2D();
viewModel.command();
});
it('works in Columbus View', function() {
scene.render();
var viewModel = new HomeButtonViewModel(scene);
scene.morphToColumbusView();
viewModel.command();
});
it('works while morphing', function() {
scene.render();
var viewModel = new HomeButtonViewModel(scene);
scene.morphToColumbusView(2000);
viewModel.command();
});
}, 'WebGL');