summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/svg/import/struct-use-10-f-manual.svg
blob: b956cbdc62002a8579e9bad6ec1c6f262daedce5 (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
<svg version="1.1" baseProfile="full" 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">
  <!--======================================================================-->
  <!--=  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="DOH" author="ED" status="accepted"
    version="$Revision: 1.6 $" testname="$RCSfile: struct-use-10-f.svg,v $">
    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#UseElement">
      <p>
        Properties are inherited according to the 'use' element rules, CSS selectors only apply to the original elements
        and not the (conceptually) cloned DOM tree.
      </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 has passed if the three rectangles have green fill and a thick darkgreen stroke. If any red shows the test has failed.
      </p>
    </d:passCriteria>
  </d:SVGTestCase>
  <title id="test-title">$RCSfile: struct-use-10-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">
    <style type="text/css">

      /* low specificity */
      defs &gt; rect  {
      fill:red;
      }

      /* applies because of higher specificity */
      .testclass1 {
      fill:green;
      }

      /* does not apply because selectors don't apply to the (conceptually) cloned subtree */
      #testid1 .testclass1 {
      fill: red;
      }

      /* does not apply because of case sensitivity of class value */
      g .testClass1 {
      fill:red;
      }

      /* does not apply because of lower specificity */
      #g1 .testclass2
      {
      fill: red
      }

      /* does not apply to the used rect, because there is no inheritance from the original tree into the used subtree */
      g#g1 {
      visibility: hidden
      }

      /* applies because of higher specificity */
      #testid2 {
      stroke:darkgreen;
      }

      /* no effect for the used rect, can be referenced anyway into the used subtree */
      g#g2 {
      display: none;
      }

      /* applies directly to the original (referenced) rect element */
      .testclass3 &gt; rect {
      fill: green;
      stroke:darkgreen;
      }

      /* does not apply to the used rect, because there is no direct access with selectors into the used subtree */
      #testid3 rect {
      stroke:red;
      }
      #testid3 rect#testrect3 {
      fill:red;
      }
    </style>

    <defs>
      <rect id="testrect1" class="testclass1" width="100" height="100"/>
      <g id="g1" style="fill:red">
        <rect id="testrect2" class="testclass2" width="100" height="100" style="fill:green"/>
      </g>
      <g id="g2" class="class testclass3 g">
        <rect id="testrect3" width="100" height="100" stroke="red"/>
      </g>
    </defs>

    <text x="50%" y="3em" style="text-anchor:middle; fill:black">CSS selectors and use element</text>

    <circle class="indicator" cx="240" cy="150" r="25" fill="red"/>
    <circle class="indicator" cx="390" cy="150" r="25" fill="red"/>

    <use id="testid1" xlink:href="#testrect1" x="40" y="100" style="stroke:darkgreen" stroke-width="10"/>
    <use id="testid2" xlink:href="#testrect2" x="190" y="100" stroke="red" stroke-width="10"/>
    <use id="testid3" xlink:href="#testrect3" x="340" y="100" style="stroke:red" stroke-width="10"/>

  </g>
  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</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>