diff --git a/lib/types/svg.js b/lib/types/svg.js index 73c8d270..1b821f21 100644 --- a/lib/types/svg.js +++ b/lib/types/svg.js @@ -1,12 +1,12 @@ 'use strict'; -var svgReg = /]+[^>]*>/; +var svgReg = /"']|"[^"]*"|'[^']*')*>/; function isSVG (buffer) { return svgReg.test(buffer); } var extractorRegExps = { - 'root': /]+>/, + 'root': svgReg, 'width': /\bwidth=(['"])([^%]+?)\1/, 'height': /\bheight=(['"])([^%]+?)\1/, 'viewbox': /\bviewBox=(['"])(.+?)\1/ diff --git a/specs/images/invalid/broken-quotes.svg b/specs/images/invalid/broken-quotes.svg new file mode 100644 index 00000000..9d22b52f --- /dev/null +++ b/specs/images/invalid/broken-quotes.svg @@ -0,0 +1,6 @@ + <(^-^)> ^(^_^)>")' + height="456px" viewBox="0 0 246 912" width="123px"> + + + diff --git a/specs/images/invalid/no-quotes.svg b/specs/images/invalid/no-quotes.svg new file mode 100644 index 00000000..57b3e409 --- /dev/null +++ b/specs/images/invalid/no-quotes.svg @@ -0,0 +1 @@ + diff --git a/specs/images/valid/svg/viewbox-width-height-brackets.svg b/specs/images/valid/svg/viewbox-width-height-brackets.svg new file mode 100644 index 00000000..ddfcd9f6 --- /dev/null +++ b/specs/images/valid/svg/viewbox-width-height-brackets.svg @@ -0,0 +1,7 @@ + + + +