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