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

62 lines
2.2 KiB
JavaScript
Raw Normal View History

2024-07-11 18:02:47 +08:00
defineSuite([
'Core/buildModuleUrl',
'Core/Resource',
'ThirdParty/Uri'
], function(
buildModuleUrl,
Resource,
Uri) {
'use strict';
it('produces an absolute URL for a module', function() {
var url = buildModuleUrl('Workers/transferTypedArrayTest.js');
expect(url).toMatch(/Workers\/transferTypedArrayTest.js$/);
expect(new Uri(url).isAbsolute()).toBe(true);
// make sure it actually exists at that URL
return Resource.fetchText(url);
});
it('matches the expected forms of URLs to Cesium.js', function() {
var r = buildModuleUrl._cesiumScriptRegex;
expect(r.exec('Cesium.js')[1]).toEqual('');
expect(r.exec('assets/foo/Cesium-b16.js')[1]).toEqual('assets/foo/');
expect(r.exec('assets/foo/Cesium.js')[1]).toEqual('assets/foo/');
expect(r.exec('http://example.invalid/Cesium/assets/foo/Cesium.js')[1]).toEqual('http://example.invalid/Cesium/assets/foo/');
expect(r.exec('assets/foo/bar.cesium.js')).toBeNull();
});
it('CESIUM_BASE_URL works with trailing slash', function() {
// Set new variables
var oldCESIUM_BASE_URL = window.CESIUM_BASE_URL;
window.CESIUM_BASE_URL = 'http://test.com/source/';
buildModuleUrl._clearBaseResource();
// Verify we use CESIUM_BASE_URL
var url = buildModuleUrl._buildModuleUrlFromBaseUrl('Core/Cartesian3.js');
expect(url).toEqual('http://test.com/source/Core/Cartesian3.js');
// Reset old values
window.CESIUM_BASE_URL = oldCESIUM_BASE_URL;
buildModuleUrl._clearBaseResource();
});
it('CESIUM_BASE_URL works without trailing slash', function() {
// Set new variables
var oldCESIUM_BASE_URL = window.CESIUM_BASE_URL;
window.CESIUM_BASE_URL = 'http://test.com/source';
buildModuleUrl._clearBaseResource();
// Verify we use CESIUM_BASE_URL
var url = buildModuleUrl._buildModuleUrlFromBaseUrl('Core/Cartesian3.js');
expect(url).toEqual('http://test.com/source/Core/Cartesian3.js');
// Reset old values
window.CESIUM_BASE_URL = oldCESIUM_BASE_URL;
buildModuleUrl._clearBaseResource();
});
});