diff --git a/src/core/utils.js b/src/core/utils.js index de572105..b1b7f9de 100644 --- a/src/core/utils.js +++ b/src/core/utils.js @@ -723,6 +723,10 @@ export const shallowEqualKeys = (a,b, keys) => { } export function sanitizeUrl(url) { + if(typeof url !== "string" || url === "") { + return "" + } + return braintreeSanitizeUrl(url) } diff --git a/test/core/utils.js b/test/core/utils.js index 4adbca8f..d65046cb 100644 --- a/test/core/utils.js +++ b/test/core/utils.js @@ -912,5 +912,17 @@ sbG8iKTs8L3NjcmlwdD4=`) 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("") + }) }) })