92 lines
2.9 KiB
HTML
92 lines
2.9 KiB
HTML
<!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>
|