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

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