| <svg version="1.1" baseProfile="basic" id="svg-root" |
| width="100%" height="100%" viewBox="0 0 480 360" onload="initTest(evt)" |
| xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> |
| <!--======================================================================--> |
| <!--= SVG 1.1 2nd Edition Test Case =--> |
| <!--======================================================================--> |
| <!--= Copyright 2009 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="SVGWG" author="Vincent Hardy" status="accepted" |
| version="$Revision: 1.8 $" testname="$RCSfile: interact-dom-01-b.svg,v $"> |
| <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#DOMInterfaces"> |
| <p> |
| Verify basic support for DOM event listener registration. The root svg element |
| has an onload handler where a click event listener is registered on group element 'Start Button'. |
| </p> |
| <p> |
| If UI events listener registration is supported (and UI events), |
| when the user clicks on the button a text node is inserted reading "Event Listeners supported". |
| </p> |
| <p> |
| At the end of the test, the start test button is changed to green, |
| and the click event listener is removed from the the start button. |
| </p> |
| <p> |
| Subsequent clicks on the start button should cause no effect if |
| the event listener has been removed successfully. |
| If additional lines of text appear in the document that say "Event Listeners supported", |
| then the implementation has not successfully removed the event listener. |
| </p> |
| </d:testDescription> |
| <d:operatorScript xmlns="http://www.w3.org/1999/xhtml"> |
| <p>This test requires user interaction. Run the test, then click on the grey rectangle. |
| If it turns green, click it again. |
| </p> |
| </d:operatorScript> |
| <d:passCriteria xmlns="http://www.w3.org/1999/xhtml"> |
| <p> |
| After clicking once on the button, the rectangle should have a green fill |
| and the text "Event listeners supported" should appear, once. |
| |
| </p> |
| </d:passCriteria> |
| </d:SVGTestCase> |
| <title id="test-title">$RCSfile: interact-dom-01-b.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"> |
| |
| <script type="text/ecmascript"> |
| <![CDATA[ |
| |
| var svg_ns = "http://www.w3.org/2000/svg" |
| var doc; |
| var content; |
| var startButton; |
| var buttonRect; |
| var yLocation = 280; |
| // |
| // onload handler for top level svg element. Sets a UI event listener for |
| // the test start button. |
| // |
| function initTest(evt){ |
| // Get Document |
| var target = evt.target; |
| doc = target.ownerDocument; |
| content = doc.getElementById("test-body-content"); |
| |
| // Get start rect and add a UI listener |
| startButton = doc.getElementById("startButton"); |
| buttonRect = doc.getElementById("buttonRect"); |
| startButton.addEventListener("click", uiEventDetected, false); |
| } |
| |
| // |
| // click handler for 'startButton' rect element. |
| // |
| function uiEventDetected(evt) { |
| // |
| // Add an element to show that UI event was detected |
| // |
| var newText = doc.createElementNS(svg_ns, 'text'); |
| newText.setAttribute('x', '5'); |
| newText.setAttribute('y', yLocation); |
| newText.setAttribute('font-size', '40'); |
| var message = "Event Listeners supported"; |
| var textContent = doc.createTextNode(message); |
| newText.appendChild(textContent); |
| content.appendChild(newText); |
| |
| startButton.removeEventListener("click", uiEventDetected, false); |
| |
| // Make start button green |
| buttonRect.setAttribute("fill", "#88ff88"); |
| buttonRect.setAttribute("stroke", "black"); |
| |
| // If test does not successfully remove the event listener, then |
| // a second click will cause a subsequent text string to appear 50 units |
| // below the first new text string. |
| yLocation = yLocation + 50; |
| } |
| |
| ]]> |
| </script> |
| |
| <!-- ===================================================================== --> |
| <!-- Start button --> |
| <!-- ===================================================================== --> |
| <g id="startButton"> |
| <rect id="buttonRect" x="65" y="20" width="350" height="200" fill="#dddddd" stroke="black"/> |
| <text font-size="54" x="120" y="130">Start Test</text> |
| </g> |
| </g> |
| <g font-family="SVGFreeSansASCII,sans-serif" font-size="32"> |
| <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text> |
| </g> |
| <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/> |
| <!-- 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> |