DSDSWeb/static/js/Cesium-1.53/Specs/Core/BingMapsGeocoderServiceSpec.js

69 lines
2.2 KiB
JavaScript

defineSuite([
'Core/BingMapsGeocoderService',
'Core/Rectangle',
'Core/Resource'
], function(
BingMapsGeocoderService,
Rectangle,
Resource) {
'use strict';
afterAll(function() {
Resource._Implementations.loadAndExecuteScript = Resource._DefaultImplementations.loadAndExecuteScript;
});
it('returns geocoder results', function (done) {
var query = 'some query';
var data = {
resourceSets: [{
resources : [{
name : 'a',
bbox : [32.0, 3.0, 3.0, 4.0]
}]
}]
};
Resource._Implementations.loadAndExecuteScript = function(url, functionName, deferred) {
deferred.resolve(data);
};
var service = new BingMapsGeocoderService();
service.geocode(query).then(function(results) {
expect(results.length).toEqual(1);
expect(results[0].displayName).toEqual('a');
expect(results[0].destination).toBeInstanceOf(Rectangle);
done();
});
});
it('returns no geocoder results if Bing has no results', function (done) {
var query = 'some query';
var data = {
resourceSets: []
};
Resource._Implementations.loadAndExecuteScript = function(url, functionName, deferred) {
deferred.resolve(data);
};
var service = new BingMapsGeocoderService();
service.geocode(query).then(function(results) {
expect(results.length).toEqual(0);
done();
});
});
it('returns no geocoder results if Bing has results but no resources', function (done) {
var query = 'some query';
var data = {
resourceSets: [{
resources: []
}]
};
Resource._Implementations.loadAndExecuteScript = function(url, functionName, deferred) {
deferred.resolve(data);
};
var service = new BingMapsGeocoderService();
service.geocode(query).then(function(results) {
expect(results.length).toEqual(0);
done();
});
});
});