| Index: LayoutTests/svg/css/parse-length.html
|
| diff --git a/LayoutTests/svg/css/parse-length.html b/LayoutTests/svg/css/parse-length.html
|
| index f7044b9f57a3b2d0f1313667a17736fa1e3c1268..11569aac144f38b100690adf6a83a3a7c5638e94 100644
|
| --- a/LayoutTests/svg/css/parse-length.html
|
| +++ b/LayoutTests/svg/css/parse-length.html
|
| @@ -11,90 +11,56 @@ div { font-size: 8px; }
|
| <script>
|
| description("Test that 'length' presentation attribute values are parsed with CSS presentation rules.");
|
|
|
| -function computedStyle(property, value) {
|
| - var rect = document.createElementNS('http://www.w3.org/2000/svg', 'rect');
|
| - document.getElementById('svg').appendChild(rect);
|
| - rect.setAttribute(property, value);
|
| - var computedValue = getComputedStyle(rect).getPropertyValue(property);
|
| - document.getElementById('svg').removeChild(rect);
|
| - return computedValue;
|
| +function computedStyle(elementname, property, value) {
|
| + var elm = document.createElementNS('http://www.w3.org/2000/svg', elementname);
|
| + document.getElementById('svg').appendChild(elm);
|
| + elm.setAttribute(property, value);
|
| + var computedValue = getComputedStyle(elm).getPropertyValue(property);
|
| + document.getElementById('svg').removeChild(elm);
|
| + return computedValue;
|
| }
|
|
|
| -function testComputed(property, value, expected) {
|
| - shouldBeEqualToString('computedStyle("' + property + '", "' + value + '")', expected);
|
| +function testComputed(elementname, property, value, expected) {
|
| + shouldBeEqualToString('computedStyle("' + elementname + '", "' + property + '", "' + value + '")', expected);
|
| }
|
|
|
| -function negativeTest(property, value) {
|
| - testComputed(property, value, "auto");
|
| +function negativeTest(elementname, property, value) {
|
| + testComputed(elementname, property, value, "auto");
|
| }
|
|
|
| -function negativeTestZero(property, value) {
|
| - testComputed(property, value, "0px");
|
| +function negativeTestZero(elementname, property, value) {
|
| + testComputed(elementname, property, value, "0px");
|
| }
|
|
|
| -// Test 'x'.
|
| -testComputed("x", " 100", "100px");
|
| -testComputed("x", "100 ", "100px");
|
| -testComputed("x", "100px", "100px");
|
| -testComputed("x", "1em", "16px");
|
| -// testComputed("x", "1ex", "12.8000001907349px"); // enable this again once http://crbug.com/441840 is fixed
|
| -testComputed("x", "20%", "20%");
|
| -testComputed("x", "-200px", "-200px");
|
| +function testAttributeOnElement(elementname, attributename) {
|
| + testComputed(elementname, attributename, " 100", "100px");
|
| + testComputed(elementname, attributename, "100 ", "100px");
|
| + testComputed(elementname, attributename, "100px", "100px");
|
| + testComputed(elementname, attributename, "1em", "16px");
|
| + // testComputed(elementname, attributename, "1ex", "12.8000001907349px"); // enable this again once http://crbug.com/441840 is fixed
|
| + testComputed(elementname, attributename, "20%", "20%");
|
| + testComputed(elementname, attributename, "-200px", "-200px");
|
|
|
| -// Test 'y'.
|
| -testComputed("y", " 100", "100px");
|
| -testComputed("y", "100 ", "100px");
|
| -testComputed("y", "100px", "100px");
|
| -testComputed("y", "1em", "16px");
|
| -// testComputed("y", "1ex", "12.8000001907349px"); // enable this again once http://crbug.com/441840 is fixed
|
| -testComputed("y", "20%", "20%");
|
| -testComputed("y", "-200px", "-200px");
|
| -
|
| -// Negative tests for 'x'.
|
| -negativeTestZero("x", "auto", "auto");
|
| -negativeTestZero("x", "100 px");
|
| -negativeTestZero("x", "100px;");
|
| -negativeTestZero("x", "100px !important");
|
| -negativeTestZero("x", "{ 100px }");
|
| -
|
| -// Negative tests for 'y'.
|
| -negativeTestZero("y", "auto");
|
| -negativeTestZero("y", "100 px");
|
| -negativeTestZero("y", "100px;");
|
| -negativeTestZero("y", "100px !important");
|
| -negativeTestZero("y", "{ 100px }");
|
| -
|
| -// Test 'rx'.
|
| -testComputed("rx", " 100", "100px");
|
| -testComputed("rx", "100 ", "100px");
|
| -testComputed("rx", "100px", "100px");
|
| -testComputed("rx", "1em", "16px");
|
| -// testComputed("rx", "1ex", "12.8000001907349px"); // enable this again once http://crbug.com/441840 is fixed
|
| -testComputed("rx", "20%", "20%");
|
| -testComputed("rx", "-200px", "-200px");
|
| + negativeTestZero(elementname, attributename, "auto", "auto");
|
| + negativeTestZero(elementname, attributename, "100 px");
|
| + negativeTestZero(elementname, attributename, "100px;");
|
| + negativeTestZero(elementname, attributename, "100px !important");
|
| + negativeTestZero(elementname, attributename, "{ 100px }");
|
| +}
|
|
|
| -// Test 'ry'.
|
| -testComputed("ry", " 100", "100px");
|
| -testComputed("ry", "100 ", "100px");
|
| -testComputed("ry", "100px", "100px");
|
| -testComputed("ry", "1em", "16px");
|
| -// testComputed("ry", "1ex", "12.8000001907349px"); // enable this again once http://crbug.com/441840 is fixed
|
| -testComputed("ry", "20%", "20%");
|
| -testComputed("ry", "-200px", "-200px");
|
| +var xyelements = [ "mask", "svg", "rect", "image", "foreignObject" ];
|
| +for (var elm of xyelements) {
|
| + testAttributeOnElement(elm, "x");
|
| + testAttributeOnElement(elm, "y");
|
| +}
|
|
|
| -// Negative tests for 'rx'.
|
| -negativeTestZero("rx", "auto", "auto");
|
| -negativeTestZero("rx", "100 px");
|
| -negativeTestZero("rx", "100px;");
|
| -negativeTestZero("rx", "100px !important");
|
| -negativeTestZero("rx", "{ 100px }");
|
| +var rxryelements = [ "rect", "ellipse" ];
|
| +for (var elm of rxryelements) {
|
| + testAttributeOnElement(elm, "rx");
|
| + testAttributeOnElement(elm, "ry");
|
| +}
|
|
|
| -// Negative tests for 'ry'.
|
| -negativeTestZero("ry", "auto");
|
| -negativeTestZero("ry", "100 px");
|
| -negativeTestZero("ry", "100px;");
|
| -negativeTestZero("ry", "100px !important");
|
| -negativeTestZero("ry", "{ 100px }");
|
| +testAttributeOnElement("circle", "r");
|
| </script>
|
| </body>
|
| </html>
|
|
|