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
|
import { safeURI } from "content-src/asrouter/template-utils";
describe("safeURI", () => {
let warnStub;
beforeEach(() => {
warnStub = sinon.stub(console, "warn");
});
afterEach(() => {
warnStub.restore();
});
it("should allow http: URIs", () => {
assert.equal(safeURI("http://foo.com"), "http://foo.com");
});
it("should allow https: URIs", () => {
assert.equal(safeURI("https://foo.com"), "https://foo.com");
});
it("should allow data URIs", () => {
assert.equal(
safeURI("data:image/png;base64,iVBO"),
"data:image/png;base64,iVBO"
);
});
it("should not allow javascript: URIs", () => {
assert.equal(safeURI("javascript:foo()"), ""); // eslint-disable-line no-script-url
assert.calledOnce(warnStub);
});
it("should not warn if the URL is falsey ", () => {
assert.equal(safeURI(), "");
assert.notCalled(warnStub);
});
});
|