Merge branch 'master' into master
This commit is contained in:
@@ -17,7 +17,8 @@ import {
|
||||
fromJSOrdered,
|
||||
getAcceptControllingResponse,
|
||||
createDeepLinkPath,
|
||||
escapeDeepLinkPath
|
||||
escapeDeepLinkPath,
|
||||
sanitizeUrl
|
||||
} from "core/utils"
|
||||
import win from "core/window"
|
||||
|
||||
@@ -901,4 +902,43 @@ describe("utils", function() {
|
||||
expect(result).toEqual("hello\\#world")
|
||||
})
|
||||
})
|
||||
|
||||
describe("sanitizeUrl", function() {
|
||||
it("should sanitize a `javascript:` url", function() {
|
||||
const res = sanitizeUrl("javascript:alert('bam!')")
|
||||
|
||||
expect(res).toEqual("about:blank")
|
||||
})
|
||||
|
||||
it("should sanitize a `data:` url", function() {
|
||||
const res = sanitizeUrl(`data:text/html;base64,PHNjcmlwdD5hbGVydCgiSGV
|
||||
sbG8iKTs8L3NjcmlwdD4=`)
|
||||
|
||||
expect(res).toEqual("about:blank")
|
||||
})
|
||||
|
||||
it("should not modify a `http:` url", function() {
|
||||
const res = sanitizeUrl(`http://swagger.io/`)
|
||||
|
||||
expect(res).toEqual("http://swagger.io/")
|
||||
})
|
||||
|
||||
it("should not modify a `https:` url", function() {
|
||||
const res = sanitizeUrl(`https://swagger.io/`)
|
||||
|
||||
expect(res).toEqual("https://swagger.io/")
|
||||
})
|
||||
|
||||
it("should gracefully handle empty strings", function() {
|
||||
expect(sanitizeUrl("")).toEqual("")
|
||||
})
|
||||
|
||||
it("should gracefully handle non-string values", function() {
|
||||
expect(sanitizeUrl(123)).toEqual("")
|
||||
expect(sanitizeUrl(null)).toEqual("")
|
||||
expect(sanitizeUrl(undefined)).toEqual("")
|
||||
expect(sanitizeUrl([])).toEqual("")
|
||||
expect(sanitizeUrl({})).toEqual("")
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user