Chromium Code Reviews| Index: LayoutTests/svg/css/parse-length.html |
| diff --git a/LayoutTests/svg/css/parse-length.html b/LayoutTests/svg/css/parse-length.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..9ddcb96908f76ea2994fc64beb04f58732f6df40 |
| --- /dev/null |
| +++ b/LayoutTests/svg/css/parse-length.html |
| @@ -0,0 +1,87 @@ |
| +<!DOCTYPE html> |
| +<html> |
| +<style> |
| +* { font-size: 16px; } |
| +svg, rect { font-family: 'Ahem'; } |
| +div { font-size: 8px; } |
| +</style> |
| +<html> |
| +<svg id="svg" width="0" height="0"></svg> |
| +<script src="../../resources/js-test.js"></script> |
| +<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 testComputed(property, value, expected) { |
| + shouldBeEqualToString('computedStyle("' + property + '", "' + value + '")', expected); |
| +} |
| + |
| +function negativeTest(property, value) { |
| + testComputed(property, value, "auto"); |
| +} |
| + |
| +function negativeTestZero(property, value) { |
| + testComputed(property, value, "0px"); |
| +} |
| + |
| +// Test 'width'. |
| +//testComputed("width", "auto", "auto"); |
| +//testComputed("width", " 100", "100px"); |
|
fs
2015/02/06 11:54:00
Remove or uncomment (i.e. either add when adding '
Erik Dahlström (inactive)
2015/02/06 13:19:53
Done.
|
| +//testComputed("width", "100 ", "100px"); |
| +//testComputed("width", "100px", "100px"); |
| +//testComputed("width", "1em", "16px"); |
| +//testComputed("width", "1ex", "12.8000001907349px"); |
| +//testComputed("width", "20%", "20%"); |
| +// FIXME: Vieport units not implemented for SVG at the moment. |
| +// testComputed("width", "1vh", "7.869999885559082px"); |
| +// testComputed("width", "1vw", "14.029999732971191px"); |
| + |
| +// 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 |
|
fs
2015/02/06 11:54:00
Maybe let this run, and have it be "XFAIL" (with a
Erik Dahlström (inactive)
2015/02/06 13:19:53
Not possible since it only fails on mac.
fs
2015/02/06 13:31:56
Acknowledged.
|
| +testComputed("x", "20%", "20%"); |
| +testComputed("x", "-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 'width'. |
| +//negativeTest("width", "100 px"); |
| +//negativeTest("width", "100px;"); |
| +//negativeTest("width", "100px !important"); |
| +//negativeTest("width", "{ 100px }"); |
| +//negativeTest("width", "-100px"); |
| + |
| +// 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 }"); |
| +</script> |
| +</body> |
| +</html> |