yzt
2023-05-26 de4278af2fd46705a40bac58ec01122db6b7f3d7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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);
  });
});