blob: 65adb68e90b54d40439e80ae3afb7576bf59aaaa [file] [log] [blame]
<!DOCTYPE html>
<html>
<!--
REGRESSION (r154769): Wrong <title> taken as a tooltip for SVG element.
https://bugs.webkit.org/show_bug.cgi?id=139690.
This test ensures that the tooltip text for SVG elements is calculated correctly.
It covers the case when an SVG is embedded in an HTML either through an inline
<svg> tag or through an <embed> tag.
-->
<head>
<script src="resources/svg-tooltip.js"></script>
<script>
function log(message)
{
document.getElementById("log").appendChild(document.createTextNode(message + '\n'));
}
function runTest()
{
if (window.testRunner) {
testRunner.dumpAsText();
// Verify the inline <svg> case
log("Verifying the inline SVG:");
log(verifyElementTreeToolTips(document.getElementsByTagName("svg")[0]) ? "PASS" : "");
// Verify the <embed> SVG case
log("\nVerifying the embedded SVG:");
var element = document.getElementById("embedId");
var SVGDocment = element.getSVGDocument();
log(verifyElementTreeToolTips(SVGDocment.rootElement, 0) ? "PASS" : "");
}
}
</script>
</head>
<body onload="runTest()">
<!-- Inline SVG -->
<svg width="200" height="400" id="main_svg">
<title>outermost svg</title>
<defs>
<g id="shape">
<rect width="100" height="100" fill="yellow"/>
<circle cx="10" cy="10" r="10" fill="red">
<title>def small circle!</title>
</circle>
<circle cx="80" cy="80" r="20" fill="red">
<title>def big circle!</title>
</circle>
<g>
<rect x="20" y="20" width="40" height="40" fill="lime"/>
<circle cx="40" cy="40" r="10" fill="red">
<title>nested circle!</title>
</circle>
</g>
<title>def g element!</title>
</g>
</defs>
<g id="main_g">
<rect id="yellow_rect" width="100" height="100" fill="yellow"/>
<circle id="small_circle" cx="10" cy="10" r="10" fill="red">
<title>small circle!</title>
</circle>
<circle id="big_circle" cx="80" cy="80" r="20" fill="red">
<title>big circle!</title>
</circle>
<g id="sub_g">
<rect id="lime_rect" x="20" y="20" width="40" height="40" fill="lime"/>
<circle id="nested_circle" cx="40" cy="40" r="10" fill="red">
<title>nested circle!</title>
</circle>
</g>
<title>main g element</title>
</g>
<!-- <use> element should return the first <title> element child if it exists -->
<use id="use_with_title" xlink:href="#shape" x="0" y="120">
<title>use element!</title>
</use>
<use id="use_without_title" xlink:href="#shape" x="0" y="240"/>
</svg>
<!-- Embedded SVG -->
<embed id="embedId" src="resources/svg-tooltip.svg">
<!-- For logging the test results -->
<pre id="log"><br></pre>
</body>
</html>