blob: 028288e6ac33487b3ba776fe486167c7a9329ac5 [file] [log] [blame]
<svg id="svg-root" width="100%" height="100%"
viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" onload="test()">
<!--======================================================================-->
<!--= Copyright 2008 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="[reviewer]" author="ED" status="empty"
version="$Revision: 1.4 $" testname="$RCSfile: struct-dom-13-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/[chapter]#[section]">
<p>
Test for checkIntersection and getIntersectionList.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The test passes if 17 green rectangles are displayed and if the legend indicates PASSED.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: struct-dom-13-f.svg,v $</title>
<defs>
<font-face
font-family="SVGFreeSansASCII"
unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<defs>
<style type="text/css">
.passed { fill: lime }
.failed { fill: red }
.result { font: 9px monospace; fill: black }
</style>
</defs>
<g visibility="hidden">
<circle id="c1" cx="40" cy="40" r="10" fill="blue" stroke="lime"/>
<circle id="c2" cx="10" cy="50" r="10" fill="red" stroke="lime"/>
<circle id="c3" cx="20" cy="20" r="20" fill="green" stroke="lime"/>
<line id="l1" x1="5" y1="5" x2="40" y2="20" stroke="black"/>
<line id="l2" x1="20" y1="20" x2="40" y2="30" stroke="red"/>
<rect id="r1" x="10" y="10" width="50" height="50" fill="none" stroke="red"/>
<circle id="c4" cx="80" cy="50" r="10" fill="yellow"/>
</g>
<script><![CDATA[
var ypos = 100;
function verify(str, result)
{
var g = document.createElementNS("http://www.w3.org/2000/svg", "g");
var r = document.createElementNS("http://www.w3.org/2000/svg", "rect");
var t = document.createElementNS("http://www.w3.org/2000/svg", "text");
t.textContent = str + ": " + (result ? "PASSED" : "FAILED");
t.setAttribute("class", "result");
t.setAttribute("x", "10");
t.setAttribute("y", "7");
r.setAttribute("y", "1");
r.setAttribute("width", "5");
r.setAttribute("height", "5");
g.setAttribute("class", result ? "passed" : "failed");
g.appendChild(r);
g.appendChild(t);
g.setAttribute("transform", "translate(280 " + ypos + ")");
ypos += 10;
document.getElementById("test-body-content").appendChild(g);
}
function test()
{
var root = document.documentElement; //document.getElementById("test-root");
var rect = root.createSVGRect();
rect.x = 10;
rect.y = 10;
rect.width = 50;
rect.height = 50;
var tests = { "c1" : true, "c2" : true, "c3" : true, "l1" : true, "l2" : true, "r1" : true, "c4" : false };
verify("checkIntersection", root.checkIntersection);
if(root.checkIntersection)
{
for(var test in tests)
{
try
{
var elm = document.getElementById(test);
var result = root.checkIntersection(elm, rect);
verify(test, result == tests[test]);
}
catch(e)
{
verify(test, false);
}
}
}
verify("getIntersectionList", root.getIntersectionList);
if(root.getIntersectionList)
{
var expected = [ "c1", "c2", "c3", "l1", "l2", "r1" ];
try
{
var list = root.getIntersectionList(rect, null);
verify("call", true);
}
catch(e)
{
verify("call", false);
}
try
{
verify("length", expected.length == list.length);
}
catch(e)
{
verify("length", false);
}
for(var i = 0; i < expected.length; i++)
{
var elm = document.getElementById(expected[i]);
try
{
verify("has " + expected[i], elm === list.item(i))
}
catch(e)
{
verify("has " + expected[i], false);
}
}
}
}
]]></script>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none"
fill="black">$Revision: 1.4 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
<!-- comment out this watermark once the test is approved -->
<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>
</svg>