summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/svg/import/interact-dom-01-b-manual.svg
blob: 32cf2f546c730f81362ff705e44b28fe3846c8aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<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>