UNPKG

terriajs

Version:

Geospatial data visualization platform.

47 lines (40 loc) 1.7 kB
'use strict'; /*global require*/ var CesiumTerrainCatalogItem = require('../../lib/Models/CesiumTerrainCatalogItem'); var CesiumTerrainProvider = require('terriajs-cesium/Source/Core/CesiumTerrainProvider'); var loadWithXhr = require('../../lib/Core/loadWithXhr'); var Terria = require('../../lib/Models/Terria'); describe('CesiumTerrainCatalogItem', function() { var terria; var item; beforeEach(function() { terria = new Terria({ baseUrl: './' }); item = new CesiumTerrainCatalogItem(terria); }); it('has correct type', function() { expect(item.type).toBe('cesium-terrain'); expect(item.typeName).toContain('Cesium'); }); it('creates imagery provider with correct URL', function(done) { spyOn(loadWithXhr, 'load').and.callFake(function(url, responseType, method, data, headers, deferred, overrideMimeType, preferText, timeout) { expect(url.indexOf('http://example.com/foo/bar')).toBe(0); deferred.resolve(JSON.stringify({ tilejson: '2.1.0', format : 'heightmap-1.0', version : '1.0.0', scheme : 'tms', tiles : [ '{z}/{x}/{y}.terrain?v={version}' ] })); }); item.url = 'http://example.com/foo/bar'; var terrainProvider = item._createTerrainProvider(); expect(terrainProvider instanceof CesiumTerrainProvider).toBe(true); terrainProvider.readyPromise.then(function() { expect(loadWithXhr.load.calls.any()).toBe(true); }).then(done); }); });