diff options
Diffstat (limited to 'browser/components/newtab/test/unit/asrouter/template-utils.test.js')
-rw-r--r-- | browser/components/newtab/test/unit/asrouter/template-utils.test.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/browser/components/newtab/test/unit/asrouter/template-utils.test.js b/browser/components/newtab/test/unit/asrouter/template-utils.test.js new file mode 100644 index 0000000000..e5f4b5ef4d --- /dev/null +++ b/browser/components/newtab/test/unit/asrouter/template-utils.test.js @@ -0,0 +1,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); + }); +}); |