<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>Testing invalid values for |viewBox| attribute</title> <defs> <rect id="redRect" fill="red" height="10" width="10"/> <rect id="limeRect" fill="lime" height="10" width="10"/> </defs> <rect fill="lime" height="100%" width="100%"/> <!-- SUMMARY: Each <svg> subdocument below has an invalid viewBox. If we honor the invalid viewBox (ignoring typos), that will make us scale the <use>'d redRect to appear larger than the limeRect, and we'll have some red showing (and we'll fail the test). --> <!-- First row: Initial comma(s) --> <g transform="translate(0, 0)"> <g transform="translate(0, 0)"> <svg width="20" height="20" viewBox=",0,0,1,1"> <use xlink:href="#redRect"/> </svg><use xlink:href="#limeRect"/> </g> <g transform="translate(40, 0)"> <svg width="20" height="20" viewBox=",,0,0,1,1"> <use xlink:href="#redRect"/> </svg><use xlink:href="#limeRect"/> </g> <g transform="translate(80, 0)"> <svg width="20" height="20" viewBox=", ,0,0,1,1"> <use xlink:href="#redRect"/> </svg><use xlink:href="#limeRect"/> </g> <g transform="translate(120, 0)"> <svg width="20" height="20" viewBox=", 0,0,1,1"> <use xlink:href="#redRect"/> </svg><use xlink:href="#limeRect"/> </g> <g transform="translate(160, 0)"> <svg width="20" height="20" viewBox=",,, 0,0,1,1"> <use xlink:href="#redRect"/> </svg><use xlink:href="#limeRect"/> </g> </g> <!-- Second row: Trailing comma(s) --> <g transform="translate(0, 40)"> <g transform="translate(0, 0)"> <svg width="20" height="20" viewBox="0,0,1,1,"> <use xlink:href="#redRect"/> </svg><use xlink:href="#limeRect"/> </g> <g transform="translate(40, 0)"> <svg width="20" height="20" viewBox="0,0,1,1 ,"> <use xlink:href="#redRect"/> </svg><use xlink:href="#limeRect"/> </g> <g transform="translate(80, 0)"> <svg width="20" height="20" viewBox="0,0,1,1,,"> <use xlink:href="#redRect"/> </svg><use xlink:href="#limeRect"/> </g> <g transform="translate(120, 0)"> <svg width="20" height="20" viewBox="0,0,1,1, ,"> <use xlink:href="#redRect"/> </svg><use xlink:href="#limeRect"/> </g> <g transform="translate(160, 0)"> <svg width="20" height="20" viewBox="0,0,1,1 ,,,"> <use xlink:href="#redRect"/> </svg><use xlink:href="#limeRect"/> </g> </g> <!-- Third row: Repeated commas in the middle --> <g transform="translate(0, 80)"> <g transform="translate(0, 0)"> <svg width="20" height="20" viewBox="0,,0,1,1"> <use xlink:href="#redRect"/> </svg><use xlink:href="#limeRect"/> </g> <g transform="translate(40, 0)"> <svg width="20" height="20" viewBox="0,,,0,1,1"> <use xlink:href="#redRect"/> </svg><use xlink:href="#limeRect"/> </g> <g transform="translate(80, 0)"> <svg width="20" height="20" viewBox="0, ,0,1,1"> <use xlink:href="#redRect"/> </svg><use xlink:href="#limeRect"/> </g> <g transform="translate(120, 0)"> <svg width="20" height="20" viewBox="0 0,, 1,1"> <use xlink:href="#redRect"/> </svg><use xlink:href="#limeRect"/> </g> <g transform="translate(160, 0)"> <svg width="20" height="20" viewBox="0 0,,1 1"> <use xlink:href="#redRect"/> </svg><use xlink:href="#limeRect"/> </g> </g> <!-- Fourth row: wrong number of values --> <g transform="translate(0, 120)"> <g transform="translate(0, 0)"> <svg width="20" height="20" viewBox=""> <use xlink:href="#redRect"/> </svg><use xlink:href="#limeRect"/> </g> <g transform="translate(40, 0)"> <svg width="20" height="20" viewBox="0"> <use xlink:href="#redRect"/> </svg><use xlink:href="#limeRect"/> </g> <g transform="translate(80, 0)"> <svg width="20" height="20" viewBox="0 0"> <use xlink:href="#redRect"/> </svg><use xlink:href="#limeRect"/> </g> <g transform="translate(120, 0)"> <svg width="20" height="20" viewBox="0 0 1"> <use xlink:href="#redRect"/> </svg><use xlink:href="#limeRect"/> </g> <g transform="translate(160, 0)"> <svg width="20" height="20" viewBox="0 0 1 1 1 "> <use xlink:href="#redRect"/> </svg><use xlink:href="#limeRect"/> </g> </g> </svg>