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.

105 lines
2.9 KiB
JavaScript

import { TrustedServers } from "../../Source/Cesium.js";
describe("Core/TrustedServers", function () {
afterEach(function () {
TrustedServers.clear();
});
it("add without argument throws", function () {
expect(function () {
TrustedServers.add();
}).toThrowDeveloperError();
});
it("remove without argument throws", function () {
expect(function () {
TrustedServers.remove();
}).toThrowDeveloperError();
});
it("isTrusted without argument throws", function () {
expect(function () {
TrustedServers.contains();
}).toThrowDeveloperError();
});
it("http without a port", function () {
TrustedServers.add("cesiumjs.org", 80);
expect(TrustedServers.contains("http://cesiumjs.org/index.html")).toBe(
true
);
expect(TrustedServers.contains("https://cesiumjs.org/index.html")).toBe(
false
);
});
it("https without a port", function () {
TrustedServers.add("cesiumjs.org", 443);
expect(TrustedServers.contains("https://cesiumjs.org/index.html")).toBe(
true
);
expect(TrustedServers.contains("http://cesiumjs.org/index.html")).toBe(
false
);
});
it("add", function () {
expect(TrustedServers.contains("http://cesiumjs.org:81/index.html")).toBe(
false
);
TrustedServers.add("cesiumjs.org", 81);
expect(TrustedServers.contains("http://cesiumjs.org/index.html")).toBe(
false
);
expect(TrustedServers.contains("http://cesiumjs.org:81/index.html")).toBe(
true
);
});
it("remove", function () {
TrustedServers.add("cesiumjs.org", 81);
expect(TrustedServers.contains("http://cesiumjs.org:81/index.html")).toBe(
true
);
TrustedServers.remove("cesiumjs.org", 8080);
expect(TrustedServers.contains("http://cesiumjs.org:81/index.html")).toBe(
true
);
TrustedServers.remove("cesiumjs.org", 81);
expect(TrustedServers.contains("http://cesiumjs.org:81/index.html")).toBe(
false
);
});
it("handles username/password credentials", function () {
TrustedServers.add("cesiumjs.org", 81);
expect(
TrustedServers.contains("http://user:pass@cesiumjs.org:81/index.html")
).toBe(true);
});
it("always returns false for relative paths", function () {
expect(TrustedServers.contains("./data/index.html")).toBe(false);
});
it("handles protocol relative URLs", function () {
TrustedServers.add("cesiumjs.org", 80);
expect(TrustedServers.contains("//cesiumjs.org/index.html")).toBe(true);
});
it("clear", function () {
TrustedServers.add("cesiumjs.org", 80);
expect(TrustedServers.contains("http://cesiumjs.org/index.html")).toBe(
true
);
TrustedServers.clear();
expect(TrustedServers.contains("http://cesiumjs.org/index.html")).toBe(
false
);
TrustedServers.add("cesiumjs.org", 80);
expect(TrustedServers.contains("http://cesiumjs.org/index.html")).toBe(
true
);
});
});