| <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> |