blob: b3c3ad1262689bf024112b979ddcb80b5fae3d37 [file] [log] [blame]
<!DOCTYPE html>
<html>
<script>
function check_rect_bbox(bbox, test_name)
{
var result_str = "";
if (bbox.x == 50 && bbox.y == 50 && bbox.width == 50 && bbox.height == 0) {
result_str = "Passed";
} else {
result_str += test_name + ": Failed";
result_str += "("+bbox.x+","+bbox.y+":"+bbox.width + "," + bbox.height+")";
}
var p_result = document.querySelector("#result");
p_result.appendChild(document.createTextNode(result_str + "; "));
}
function run()
{
if (window.testRunner)
testRunner.dumpAsText();
var svg = document.querySelector("svg");
var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
rect.setAttribute("x", "50");
rect.setAttribute("y", "50");
rect.setAttribute("width", "50");
rect.setAttribute("height", "0");
svg.appendChild(rect);
check_rect_bbox(rect.getBBox(), "Rectangle with zero height");
rect.setAttribute("stroke-width", "10");
rect.setAttribute("stroke", "red");
check_rect_bbox(rect.getBBox(), "With stroke");
var vector_effect_orig = rect.getAttribute("vector-effect");
rect.setAttribute("vector-effect", "non-scaling-stroke");
check_rect_bbox(rect.getBBox(), "With non-scaling-stroke");
rect.setAttribute("vector-effect", vector_effect_orig);
rect.setAttribute("rx", "10");
check_rect_bbox(rect.getBBox(), "Rounded");
}
</script>
<body onload="run()">
<p>Bug <a href="https://bugs.webkit.org/show_bug.cgi?id=93290">93290</a>: getBBox() returns (0,0) incorrectly when width or height is zero.</p>
<p>For this test to pass, you should see 'Passed' four times below.</a>
<p id="result"></p>
<svg xmlns="http://www.w3.org/2000/svg">
</svg>
</body>
</html>