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);
|
});
|
});
|