forked from mirrors/gecko-dev
# ignore-this-changeset Differential Revision: https://phabricator.services.mozilla.com/D36042 --HG-- extra : source : d3afcafdce650a6f36cebbc126ee93b17f13cf52
31 lines
906 B
JavaScript
31 lines
906 B
JavaScript
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);
|
|
});
|
|
});
|