DSDSWeb/static/js/Cesium-1.53/Specs/Widgets/Geocoder/GeocoderSpec.js

85 lines
2.3 KiB
JavaScript
Raw Normal View History

2024-07-11 18:02:47 +08:00
defineSuite([
'Widgets/Geocoder/Geocoder',
'Core/Cartesian3',
'Specs/createScene',
'ThirdParty/when'
], function(
Geocoder,
Cartesian3,
createScene,
when) {
'use strict';
var scene;
beforeEach(function() {
scene = createScene();
});
afterEach(function() {
scene.destroyForSpecs();
});
it('constructor sets expected properties', function() {
var flightDuration = 1234;
var destinationFound = jasmine.createSpy();
var geocoder = new Geocoder({
container : document.body,
scene : scene,
flightDuration : flightDuration,
destinationFound : destinationFound
});
var viewModel = geocoder.viewModel;
expect(viewModel.scene).toBe(scene);
expect(viewModel.flightDuration).toBe(flightDuration);
expect(viewModel.destinationFound).toBe(destinationFound);
geocoder.destroy();
});
it('can create and destroy', function() {
var container = document.createElement('div');
container.id = 'testContainer';
document.body.appendChild(container);
var widget = new Geocoder({
container : 'testContainer',
scene : scene
});
expect(widget.container).toBe(container);
expect(widget.isDestroyed()).toEqual(false);
expect(container.children.length).not.toEqual(0);
widget.destroy();
expect(container.children.length).toEqual(0);
expect(widget.isDestroyed()).toEqual(true);
document.body.removeChild(container);
});
it('constructor throws with no scene', function() {
expect(function() {
return new Geocoder({
container : document.body
});
}).toThrowDeveloperError();
});
it('constructor throws with no element', function() {
expect(function() {
return new Geocoder({
scene : scene
});
}).toThrowDeveloperError();
});
it('constructor throws with string element that does not exist', function() {
expect(function() {
return new Geocoder({
container : 'does not exist',
scene : scene
});
}).toThrowDeveloperError();
});
}, 'WebGL');