You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.4 KiB
JavaScript
39 lines
1.4 KiB
JavaScript
import { getAbsoluteUri } from "../../Source/Cesium.js";
|
|
import { isCrossOriginUrl } from "../../Source/Cesium.js";
|
|
import { Uri } from "../../Source/Cesium.js";
|
|
|
|
describe("Core/isCrossOriginUrl", function () {
|
|
it("returns false for relative urls", function () {
|
|
expect(isCrossOriginUrl("/some/url.jpg")).toEqual(false);
|
|
expect(isCrossOriginUrl("some/url.jpg")).toEqual(false);
|
|
});
|
|
|
|
it("returns false for absolute urls that are not cross-origin", function () {
|
|
var absoluteUrl = getAbsoluteUri("/some/url.jpg");
|
|
expect(isCrossOriginUrl(absoluteUrl)).toEqual(false);
|
|
|
|
absoluteUrl = getAbsoluteUri("some/url.jpg");
|
|
expect(isCrossOriginUrl(absoluteUrl)).toEqual(false);
|
|
});
|
|
|
|
it("returns true for absolute urls that are cross-origin", function () {
|
|
expect(isCrossOriginUrl("http://example.invalid/some/url.jpg")).toEqual(
|
|
true
|
|
);
|
|
|
|
// a different scheme counts as cross-origin
|
|
var pageUri = new Uri(location.href);
|
|
pageUri.scheme = location.protocol === "https:" ? "http" : "https";
|
|
|
|
var absoluteUrl = pageUri.toString();
|
|
expect(isCrossOriginUrl(absoluteUrl)).toEqual(true);
|
|
|
|
// so does a different port
|
|
pageUri = new Uri(location.href);
|
|
pageUri.authority = location.hostname + ":" + (+location.port + 1);
|
|
|
|
absoluteUrl = pageUri.toString();
|
|
expect(isCrossOriginUrl(absoluteUrl)).toEqual(true);
|
|
});
|
|
});
|