blob: ebf692c2e5bde3f980113b01a6d282dfc9b5df80 [file] [log] [blame]
<!doctype html>
<html>
<title>Test computed style on x and y properties</title>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<svg xmlns="http://www.w3.org/2000/svg" height="32" width="32">
<defs>
<circle id="circle" cx="50" cy="60" r="32"/>
</defs>
<rect class="test" x="37px" y="50%" width="100" height="100"/>
<use class="test" x="17" y="51mm" xlink:href="#circle"/>
<svg class="test" x="22%" y="4cm" width="100" height="100"/>
<mask class="test" x="15pc" y="27pt"/>
<image class="test" y="57"/>
<foreignObject class="test" x="32%" y="1"/>
</svg>
<script>
var elms = document.querySelectorAll(".test");
var attrs = [ "x", "y" ];
var expected = [
[ "37px", "50%" ],
[ "17px", "192.756px" ],
[ "22%", "151.181px" ],
[ "240px", "36px" ],
[ "0px", "57px" ],
[ "32%", "1px" ],
];
function runTestsWithZoom(zoomLevel) {
document.querySelector("svg").setAttribute("style", "zoom: " + zoomLevel);
for (var i = 0; i < elms.length; i++) {
var style = getComputedStyle(elms[i]);
for (var j = 0; j < attrs.length; j++) {
test(function() {
assert_equals(style.getPropertyValue(attrs[j]), expected[i][j]);
}, "zoom=" + zoomLevel + ": " + elms[i].localName + " getPropertyValue(" + attrs[j] + ")");
test(function() {
assert_equals(style[attrs[j]], expected[i][j]);
}, "zoom=" + zoomLevel + ": " +elms[i].localName + " style." + attrs[j]);
}
}
}
runTestsWithZoom(1);
runTestsWithZoom(2);
</script>
</html>