import { buildModuleUrl } from "../../Source/Cesium.js";
|
import { Resource } from "../../Source/Cesium.js";
|
import { Uri } from "../../Source/Cesium.js";
|
|
describe("Core/buildModuleUrl", function () {
|
it("produces an absolute URL for a module", function () {
|
var url = buildModuleUrl("Workers/transferTypedArrayTest.js");
|
|
expect(url).toMatch(/Workers\/transferTypedArrayTest.js$/);
|
var uri = new Uri(url);
|
expect(uri.scheme().length).toBeGreaterThan(0);
|
expect(uri.fragment().length).toEqual(0);
|
|
// 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("Cesium.js?v=1.7")[1]).toEqual("");
|
expect(r.exec("assets/foo/Cesium.js")[1]).toEqual("assets/foo/");
|
expect(r.exec("assets/foo/Cesium.js?v=1.7")[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("http://example.invalid/Cesium/assets/foo/Cesium.js?v=1.7")[1]
|
).toEqual("http://example.invalid/Cesium/assets/foo/");
|
|
expect(r.exec("cesium.js")).toBeNull();
|
expect(r.exec("Cesium.js%20")).toBeNull();
|
expect(r.exec("Cesium.min.js")).toBeNull();
|
expect(r.exec("CesiumSomething.js")).toBeNull();
|
expect(r.exec("CesiumSomething.js?v=1.7")).toBeNull();
|
expect(r.exec("assets/foo/bar.cesium.js")).toBeNull();
|
expect(r.exec("assets/foo/bar.cesium.js?v=1.7")).toBeNull();
|
expect(r.exec("assets/foo/CesiumSomething.js")).toBeNull();
|
expect(r.exec("assets/foo/CesiumSomething.js?v=1.7")).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();
|
});
|
});
|