[librsvg: 3/15] Add some more tests from the SVG1.1 test suite




commit e7e66aab550ac339ea7f39a8999304c743518a30
Author: Federico Mena Quintero <federico gnome org>
Date:   Tue Nov 17 13:26:56 2020 -0600

    Add some more tests from the SVG1.1 test suite

 .../reftests/svg1.1/masking-path-08-b-ref.png      | Bin 0 -> 6407 bytes
 .../fixtures/reftests/svg1.1/masking-path-08-b.svg | 140 ++++++++++
 .../reftests/svg1.1/struct-group-03-t-ref.png      | Bin 0 -> 18066 bytes
 .../fixtures/reftests/svg1.1/struct-group-03-t.svg | 285 +++++++++++++++++++++
 .../reftests/svg1.1/struct-use-10-f-ref.png        | Bin 0 -> 6356 bytes
 tests/fixtures/reftests/svg1.1/struct-use-10-f.svg | 130 ++++++++++
 .../reftests/svg1.1/styling-css-01-b-ref.png       | Bin 0 -> 8879 bytes
 .../fixtures/reftests/svg1.1/styling-css-01-b.svg  |  90 +++++++
 .../reftests/svg1.1/styling-css-02-b-ref.png       | Bin 0 -> 8958 bytes
 .../fixtures/reftests/svg1.1/styling-css-02-b.svg  |  85 ++++++
 .../reftests/svg1.1/styling-css-03-b-ref.png       | Bin 0 -> 10046 bytes
 .../fixtures/reftests/svg1.1/styling-css-03-b.svg  | 106 ++++++++
 .../reftests/svg1.1/styling-css-04-f-ref.png       | Bin 0 -> 7769 bytes
 .../fixtures/reftests/svg1.1/styling-css-04-f.svg  | 157 ++++++++++++
 .../reftests/svg1.1/styling-css-07-f-ref.png       | Bin 0 -> 4358 bytes
 .../fixtures/reftests/svg1.1/styling-css-07-f.svg  |  62 +++++
 .../reftests/svg1.1/styling-css-08-f-ref.png       | Bin 0 -> 10536 bytes
 .../fixtures/reftests/svg1.1/styling-css-08-f.svg  | 116 +++++++++
 18 files changed, 1171 insertions(+)
---
diff --git a/tests/fixtures/reftests/svg1.1/masking-path-08-b-ref.png 
b/tests/fixtures/reftests/svg1.1/masking-path-08-b-ref.png
new file mode 100644
index 00000000..d7702c11
Binary files /dev/null and b/tests/fixtures/reftests/svg1.1/masking-path-08-b-ref.png differ
diff --git a/tests/fixtures/reftests/svg1.1/masking-path-08-b.svg 
b/tests/fixtures/reftests/svg1.1/masking-path-08-b.svg
new file mode 100644
index 00000000..17291ade
--- /dev/null
+++ b/tests/fixtures/reftests/svg1.1/masking-path-08-b.svg
@@ -0,0 +1,140 @@
+<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";>
+  <!--======================================================================-->
+  <!--=  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.3" reviewer="CM" author="ED" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: masking-path-08-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml"; 
href="http://www.w3.org/TR/SVG11/masking.html#EstablishingANewClippingPath";>
+        <p>
+          This tests a few 'clip-path' cases to see that clipping paths are applied and constructed properly.
+        </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>
+        There are nine subtests in this test. There should be a big stroked rectangle with nine smaller 
rectangles inside. If all of the smaller rectangles are green the test has passed.
+      </p>
+      <p>
+        The test has passed if:
+      </p>
+                       <ul>
+                               <li>There is no red visible.</li>
+                               <li>Each of the nine small rectangles are green.</li>
+                       </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: masking-path-08-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">
+       
+               <defs>
+                       <clipPath id="emptyclip">
+                       </clipPath>
+                       <clipPath id="hiddenclip">
+                               <rect width="100" height="100" visibility="hidden"/>
+                       </clipPath>
+                       <clipPath id="displayclip">
+                               <rect width="100" height="100" display="none"/>
+                       </clipPath>
+                       <clipPath id="opacityclip">
+                               <rect width="100" height="100" opacity="0"/>
+                       </clipPath>
+                       <clipPath id="strokefillclip">
+                               <rect width="100" height="100" stroke="none" fill="none"/>
+                       </clipPath>
+                       <clipPath id="strokewidthclip">
+                               <rect x="40" y="40" width="20" height="20" stroke="black" stroke-width="80"/>
+                       </clipPath>
+                       <clipPath id="strokeopacityclip">
+                               <rect x="40" y="40" width="20" height="20" stroke="black" stroke-opacity="0" 
stroke-width="80"/>
+                       </clipPath>
+                       <clipPath id="fillopacityclip">
+                               <rect width="100" height="100" fill-opacity="0"/>
+                       </clipPath>
+               </defs>
+               
+               <text x="240" y="50" text-anchor="middle">Establishing a new clipping path</text>
+               
+               <g transform="scale(0.5) translate(320 200)">
+                       <rect width="100" height="100" fill="lime"/>
+                       <rect width="100" height="100" fill="red" clip-path="url(#emptyclip)"/>
+
+                       <g transform="translate(110 0)">
+                               <rect width="100" height="100" fill="lime"/>
+                               <rect width="100" height="100" fill="red" clip-path="url(#hiddenclip)"/>
+                       </g>
+                       
+                       <g transform="translate(220 0)">
+                               <rect width="100" height="100" fill="lime"/>
+                               <rect width="100" height="100" fill="red" clip-path="url(#displayclip)"/>
+                       </g>
+
+                       <!-- This has an intentionally broken clip-path url -->
+                       <g transform="translate(0 110)">
+                               <rect x="0.5" y="0.5" width="99" height="99" fill="red"/>
+                               <rect width="100" height="100" fill="lime" clip-path="url(#unknown)"/>
+                       </g>
+                       
+                       <g transform="translate(110 110)">
+                               <rect x="0.5" y="0.5" width="99" height="99" fill="red"/>
+                               <rect width="100" height="100" fill="lime" clip-path="url(#opacityclip)"/>
+                       </g>
+                       
+                       <g transform="translate(220 110)">
+                               <rect x="0.5" y="0.5" width="99" height="99" fill="red"/>
+                               <rect width="100" height="100" fill="lime" clip-path="url(#strokefillclip)"/>
+                       </g>
+                       
+                       <g transform="translate(0 220)">
+                               <rect width="100" height="100" fill="lime"/>
+                               <rect width="100" height="100" fill="red" clip-path="url(#strokewidthclip)"/>
+                               <rect x="39" y="39" width="22" height="22" fill="lime"/>
+                       </g>
+                       
+                       <g transform="translate(110 220)">
+                               <rect width="100" height="100" fill="lime"/>
+                               <rect width="100" height="100" fill="red" 
clip-path="url(#strokeopacityclip)"/>
+                               <rect x="39" y="39" width="22" height="22" fill="lime"/>
+                       </g>
+                       
+                       <g transform="translate(220 220)">
+                               <rect x="0.5" y="0.5" width="99" height="99" fill="red"/>
+                               <rect width="100" height="100" fill="lime" clip-path="url(#fillopacityclip)"/>
+                       </g>
+                       
+                       <rect width="320" height="320" fill="none" stroke="black"/>
+               </g>
+               
+               
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.7 $</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>
diff --git a/tests/fixtures/reftests/svg1.1/struct-group-03-t-ref.png 
b/tests/fixtures/reftests/svg1.1/struct-group-03-t-ref.png
new file mode 100644
index 00000000..96bb194a
Binary files /dev/null and b/tests/fixtures/reftests/svg1.1/struct-group-03-t-ref.png differ
diff --git a/tests/fixtures/reftests/svg1.1/struct-group-03-t.svg 
b/tests/fixtures/reftests/svg1.1/struct-group-03-t.svg
new file mode 100644
index 00000000..975e707d
--- /dev/null
+++ b/tests/fixtures/reftests/svg1.1/struct-group-03-t.svg
@@ -0,0 +1,285 @@
+<svg version="1.1" baseProfile="tiny" 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="CN" author="VH" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: struct-group-03-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml"; 
href="http://www.w3.org/TR/SVG11/struct.html#Groups";>
+        <p>
+          This test validates that properties are inherited (or not, depending on
+          their defintion), from a group to its children.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml";>
+      <p>
+        [[
+        Describe how to use the here. The instructions should specify any
+        steps requied to run the test or any manual operation that need
+        to be performed to run the test.
+        ]]
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml";>
+      <p>
+        The two rows displayed in this test should be identical. In the top row,
+        each property is set to the value 'inherit'. In the bottom row, which is
+        the reference, each property is set to the value that should be inherited
+        in the top row.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-group-03-t.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">
+    <g id="grid" transform="translate(70, 150) rotate(-90)" fill="none" stroke="black">
+      <defs>
+        <rect id="propertyCell" x="-5" y="-14" width="110" height="22"/>
+        <rect id="sampleCell" x="-5" y="-14" width="50" height="22"/>
+      </defs>
+
+      <use xlink:href="#propertyCell"/>
+      <use xlink:href="#propertyCell" y="22"/>
+      <use xlink:href="#propertyCell" y="44"/>
+      <use xlink:href="#propertyCell" y="66"/>
+      <use xlink:href="#propertyCell" y="88"/>
+      <use xlink:href="#propertyCell" y="110"/>
+      <use xlink:href="#propertyCell" y="132"/>
+      <use xlink:href="#propertyCell" y="154"/>
+      <use xlink:href="#propertyCell" y="176"/>
+      <use xlink:href="#propertyCell" y="198"/>
+      <use xlink:href="#propertyCell" y="220"/>
+      <use xlink:href="#propertyCell" y="242"/>
+      <use xlink:href="#propertyCell" y="264"/>
+      <use xlink:href="#propertyCell" y="286"/>
+      <use xlink:href="#propertyCell" y="308"/>
+      <use xlink:href="#propertyCell" y="330"/>
+      <use xlink:href="#propertyCell" y="352"/>
+
+      <g transform="translate(-50, 0)">
+        <use xlink:href="#sampleCell"/>
+        <use xlink:href="#sampleCell" y="22"/>
+        <use xlink:href="#sampleCell" y="44"/>
+        <use xlink:href="#sampleCell" y="66"/>
+        <use xlink:href="#sampleCell" y="88"/>
+        <use xlink:href="#sampleCell" y="110"/>
+        <use xlink:href="#sampleCell" y="132"/>
+        <use xlink:href="#sampleCell" y="154"/>
+        <use xlink:href="#sampleCell" y="176"/>
+        <use xlink:href="#sampleCell" y="198"/>
+        <use xlink:href="#sampleCell" y="220"/>
+        <use xlink:href="#sampleCell" y="242"/>
+        <use xlink:href="#sampleCell" y="264"/>
+        <use xlink:href="#sampleCell" y="286"/>
+        <use xlink:href="#sampleCell" y="308"/>
+        <use xlink:href="#sampleCell" y="330"/>
+        <use xlink:href="#sampleCell" y="352"/>
+      </g>
+
+      <g transform="translate(-100, 0)">
+        <use xlink:href="#sampleCell"/>
+        <use xlink:href="#sampleCell" y="22"/>
+        <use xlink:href="#sampleCell" y="44"/>
+        <use xlink:href="#sampleCell" y="66"/>
+        <use xlink:href="#sampleCell" y="88"/>
+        <use xlink:href="#sampleCell" y="110"/>
+        <use xlink:href="#sampleCell" y="132"/>
+        <use xlink:href="#sampleCell" y="154"/>
+        <use xlink:href="#sampleCell" y="176"/>
+        <use xlink:href="#sampleCell" y="198"/>
+        <use xlink:href="#sampleCell" y="220"/>
+        <use xlink:href="#sampleCell" y="242"/>
+        <use xlink:href="#sampleCell" y="264"/>
+        <use xlink:href="#sampleCell" y="286"/>
+        <use xlink:href="#sampleCell" y="308"/>
+        <use xlink:href="#sampleCell" y="330"/>
+        <use xlink:href="#sampleCell" y="352"/>
+      </g>
+    </g>
+    <g id="properties" transform="translate(70, 150) rotate(-90)">
+      <text>color</text>
+      <text y="22">display</text>
+      <text y="44">fill</text>
+      <text y="66">fill-rule</text>
+      <text y="88">stroke</text>
+      <text y="110">stroke-dasharray</text>
+      <text y="132">stroke-dashoffset</text>
+      <text y="154">stroke-linecap</text>
+      <text y="176">stroke-linejoin</text>
+      <text y="198">stroke-miterlimit</text>
+      <text y="220">stroke-width</text>
+      <text y="242">visibility</text>
+      <text y="264">font-family</text>
+      <text y="286">font-size</text>
+      <text y="308">font-style</text>
+      <text y="330">font-weight</text>
+      <text y="352">text-anchor</text>
+    </g>
+
+    <g id="inheritGroup" transform="translate(56, 155)">
+
+      <g color="#0F0">
+        <rect x="3" y="10" width="16" height="32" fill="currentColor"/>
+      </g>
+
+      <g display="none" transform="translate(22, 0)">
+        <rect x="3" y="10" width="16" height="32" display="inherit"/>
+      </g>
+
+      <g fill="#0F0" transform="translate(44, 0)">
+        <rect x="3" y="10" width="16" height="32" fill="inherit"/>
+      </g>
+
+      <g fill-rule="evenodd" transform="translate(66, 0)">
+        <polygon points="10.5,0 21,21 0,7 21,7 0,21" fill-rule="inherit" fill="#0F0" transform="translate(3, 
15) scale(0.7)"/>
+      </g>
+
+      <g stroke="#0F0" transform="translate(88, 0)">
+        <rect x="3" y="10" width="16" height="32" stroke="inherit" fill="none"/>
+      </g>
+
+      <g stroke-dasharray="2,2,5,5" transform="translate(110, 0)">
+        <line x1="11" y1="5" x2="11" y2="40" stroke="#0F0" stroke-dasharray="inherit" stroke-width="2"/>
+      </g>
+
+      <g stroke-dashoffset="4" transform="translate(132, 0)">
+        <line x1="11" y1="5" x2="11" y2="40" stroke="#0F0" stroke-dashoffset="inherit" 
stroke-dasharray="2,2,5,5" stroke-width="2"/>
+      </g>
+
+      <g stroke-linecap="round" transform="translate(154, 0)">
+        <line x1="11" y1="10" x2="11" y2="40" stroke="#0F0" stroke-linecap="inherit" stroke-width="10"/>
+      </g>
+
+      <g stroke-linejoin="round" transform="translate(176, 0)">
+        <polyline points="3,40 11,10 19,40" stroke="#0F0" stroke-linejoin="inherit" stroke-width="5" 
fill="none"/>
+      </g>
+
+      <g stroke-miterlimit="1" transform="translate(198, 0)">
+        <polyline points="3,40 11,10 19,40" stroke="#0F0" stroke-miterlimit="inherit" stroke-width="5" 
fill="none"/>
+      </g>
+
+      <g stroke-width="5" transform="translate(220, 0)">
+        <line x1="11" y1="10" x2="11" y2="40" stroke="#0F0" stroke-width="inherit"/>
+      </g>
+
+      <g visibility="hidden" transform="translate(242, 0)">
+        <line x1="11" y1="10" x2="11" y2="40" stroke="#0F0" visibility="inherit"/>
+      </g>
+
+      <g font-family="serif" transform="translate(264, 0)">
+        <text x="11" y="30" font-size="20" text-anchor="middle" font-family="inherit">A</text>
+      </g>
+
+      <g font-size="10" transform="translate(286, 0)">
+        <text x="11" y="30" font-size="inherit" text-anchor="middle" font-family="serif">A</text>
+      </g>
+
+      <g font-style="italic" transform="translate(308, 0)">
+        <text x="11" y="30" font-style="inherit" text-anchor="middle" font-size="20" 
font-family="serif">A</text>
+      </g>
+
+      <g font-weight="bold" transform="translate(330, 0)">
+        <text x="11" y="30" font-weight="inherit" text-anchor="middle" font-family="serif" 
font-size="20">A</text>
+      </g>
+
+      <g text-anchor="middle" transform="translate(352, 0)">
+        <text x="11" y="30" text-anchor="inherit" font-family="serif" font-size="20">A</text>
+      </g>
+    </g>
+
+    <g id="referenceGroup" transform="translate(56, 205)">
+
+      <g>
+        <rect x="3" y="10" width="16" height="32" fill="#0F0"/>
+      </g>
+
+      <g transform="translate(22, 0)">
+        <rect x="3" y="10" width="16" height="32" display="none"/>
+      </g>
+
+      <g transform="translate(44, 0)">
+        <rect x="3" y="10" width="16" height="32" fill="#0F0"/>
+      </g>
+
+      <g transform="translate(66, 0)">
+        <polygon points="10.5,0 21,21 0,7 21,7 0,21" fill-rule="evenodd" fill="#0F0" transform="translate(3, 
15) scale(0.7)"/>
+      </g>
+
+      <g transform="translate(88, 0)">
+        <rect x="3" y="10" width="16" height="32" stroke="#0F0" fill="none"/>
+      </g>
+
+      <g stroke-dasharray="2,2,5,5" transform="translate(110, 0)">
+        <line x1="11" y1="5" x2="11" y2="40" stroke="#0F0" stroke-dasharray="inherit" stroke-width="2"/>
+      </g>
+
+      <g transform="translate(132, 0)">
+        <line x1="11" y1="5" x2="11" y2="40" stroke="#0F0" stroke-dashoffset="4" stroke-dasharray="2,2,5,5" 
stroke-width="2"/>
+      </g>
+
+      <g transform="translate(154, 0)">
+        <line x1="11" y1="10" x2="11" y2="40" stroke="#0F0" stroke-linecap="round" stroke-width="10"/>
+      </g>
+
+      <g transform="translate(176, 0)">
+        <polyline points="3,40 11,10 19,40" stroke="#0F0" stroke-linejoin="round" stroke-width="5" 
fill="none"/>
+      </g>
+
+      <g transform="translate(198, 0)">
+        <polyline points="3,40 11,10 19,40" stroke="#0F0" stroke-miterlimit="1" stroke-width="5" 
fill="none"/>
+      </g>
+
+      <g transform="translate(220, 0)">
+        <line x1="11" y1="10" x2="11" y2="40" stroke="#0F0" stroke-width="5"/>
+      </g>
+
+      <g transform="translate(242, 0)">
+        <line x1="11" y1="10" x2="11" y2="40" stroke="#0F0" visibility="hidden"/>
+      </g>
+
+      <g transform="translate(264, 0)">
+        <text x="11" y="30" font-size="20" text-anchor="middle" font-family="serif">A</text>
+      </g>
+
+      <g transform="translate(286, 0)">
+        <text x="11" y="30" font-size="10" text-anchor="middle" font-family="serif">A</text>
+      </g>
+
+      <g transform="translate(308, 0)">
+        <text x="11" y="30" font-style="italic" text-anchor="middle" font-size="20" 
font-family="serif">A</text>
+      </g>
+
+      <g transform="translate(330, 0)">
+        <text x="11" y="30" font-weight="bold" text-anchor="middle" font-family="serif" 
font-size="20">A</text>
+      </g>
+
+      <g transform="translate(352, 0)">
+        <text x="11" y="30" text-anchor="middle" font-family="serif" font-size="20">A</text>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</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>
diff --git a/tests/fixtures/reftests/svg1.1/struct-use-10-f-ref.png 
b/tests/fixtures/reftests/svg1.1/struct-use-10-f-ref.png
new file mode 100644
index 00000000..2294084f
Binary files /dev/null and b/tests/fixtures/reftests/svg1.1/struct-use-10-f-ref.png differ
diff --git a/tests/fixtures/reftests/svg1.1/struct-use-10-f.svg 
b/tests/fixtures/reftests/svg1.1/struct-use-10-f.svg
new file mode 100644
index 00000000..ebadc034
--- /dev/null
+++ b/tests/fixtures/reftests/svg1.1/struct-use-10-f.svg
@@ -0,0 +1,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>
diff --git a/tests/fixtures/reftests/svg1.1/styling-css-01-b-ref.png 
b/tests/fixtures/reftests/svg1.1/styling-css-01-b-ref.png
new file mode 100644
index 00000000..dbe200c6
Binary files /dev/null and b/tests/fixtures/reftests/svg1.1/styling-css-01-b-ref.png differ
diff --git a/tests/fixtures/reftests/svg1.1/styling-css-01-b.svg 
b/tests/fixtures/reftests/svg1.1/styling-css-01-b.svg
new file mode 100644
index 00000000..c1e629e2
--- /dev/null
+++ b/tests/fixtures/reftests/svg1.1/styling-css-01-b.svg
@@ -0,0 +1,90 @@
+<svg version="1.1" baseProfile="basic" 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="SVGWG" author="Chris lilley" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: styling-css-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml"; 
href="http://www.w3.org/TR/SVG11/styling.html#StylingWithCSS";>
+        <p>
+          Test element and class selectors.
+        </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 is passed if all six shapes have a green fill.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: styling-css-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">
+    <defs>
+      <defs>
+        <style type="text/css">
+          rect { fill: green }
+          .warning { fill: green }
+          .bar {fill: green}
+        </style>
+      </defs>
+    </defs>
+    <!-- ====================================================================== -->
+    <!-- Element (GI) selectors  =============================================== -->
+    <!-- ====================================================================== -->
+
+    <text style="font-size:12px;" x="40" y="36">
+      element selectors:
+    </text>
+
+      <circle cx="160" cy="100" r="30" fill="green"/>
+      <g style="fill: red">
+          <rect x="220" y="80" width="60" height="40"/>
+      </g>
+      <polygon points="300,100, 320,120, 340,110, 360,120, 390,90, 340,70" fill="green"/>
+
+    <!-- ====================================================================== -->
+    <!-- class selectors  =============================================== -->
+    <!-- ====================================================================== -->
+    <g transform="translate(0, 150)">
+
+      <text style="font-size:12px;" x="40" y="36">
+        class selectors:
+      </text>
+
+      <g style="fill: red">
+        <circle class="warning" cx="160" cy="100" r="30"/>
+        <rect x="220" y="80" width="60" height="40"/>
+        <polygon class="foo bar baz" points="300,100, 320,120, 340,110, 360,120, 390,90, 340,70"/>
+      </g>
+    </g>
+  </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" style="fill: none;stroke:#000" 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>
diff --git a/tests/fixtures/reftests/svg1.1/styling-css-02-b-ref.png 
b/tests/fixtures/reftests/svg1.1/styling-css-02-b-ref.png
new file mode 100644
index 00000000..710cd140
Binary files /dev/null and b/tests/fixtures/reftests/svg1.1/styling-css-02-b-ref.png differ
diff --git a/tests/fixtures/reftests/svg1.1/styling-css-02-b.svg 
b/tests/fixtures/reftests/svg1.1/styling-css-02-b.svg
new file mode 100644
index 00000000..87b5fbaa
--- /dev/null
+++ b/tests/fixtures/reftests/svg1.1/styling-css-02-b.svg
@@ -0,0 +1,85 @@
+<svg version="1.1" baseProfile="basic" 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="SVGWG" author="Chris lilley" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: styling-css-02-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml"; 
href="http://www.w3.org/TR/SVG11/styling.html#StylingWithCSS";>
+        <p>
+          Test ID and attribute selectors
+        </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 is passed if all six shapes have a green fill.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: styling-css-02-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">
+    <defs>
+      <style type="text/css">
+        #one, #two { fill: green }
+        [transform="scale(2)"] { fill: green }
+        #x [points] { fill: green }
+      </style>
+    </defs>
+    <!-- ====================================================================== -->
+    <!-- ID selectors selectors  ============================================== -->
+    <!-- ====================================================================== -->
+    <text style="font-size:12px;" x="40" y="36">
+      id selectors:
+    </text>
+    <g style="fill: green">
+      <circle cx="160" cy="100" r="30"/>
+      <polygon points="300,100, 320,120, 340,110, 360,120, 390,90, 340,70"/>
+    </g>
+    <g style="fill: red">
+      <rect id="one" x="220" y="80" width="60" height="40"/>
+    </g>
+    <!-- ====================================================================== -->
+    <!-- attribute selectors  ================================================= -->
+    <!-- ====================================================================== -->
+    <g transform="translate(0, 150)">
+      <text style="font-size:12px;" x="40" y="36">
+        attribute selectors:
+      </text>
+
+      <g style="fill: red" id="x">
+        <circle transform="scale(2)" cx="80" cy="50" r="15"/>
+        <rect id="two" x="220" y="80" width="60" height="40"/>
+        <polygon points="300,100, 320,120, 340,110, 360,120, 390,90, 340,70"/>
+      </g>
+    </g>
+  </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="#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>
diff --git a/tests/fixtures/reftests/svg1.1/styling-css-03-b-ref.png 
b/tests/fixtures/reftests/svg1.1/styling-css-03-b-ref.png
new file mode 100644
index 00000000..9b145261
Binary files /dev/null and b/tests/fixtures/reftests/svg1.1/styling-css-03-b-ref.png differ
diff --git a/tests/fixtures/reftests/svg1.1/styling-css-03-b.svg 
b/tests/fixtures/reftests/svg1.1/styling-css-03-b.svg
new file mode 100644
index 00000000..7a830bd9
--- /dev/null
+++ b/tests/fixtures/reftests/svg1.1/styling-css-03-b.svg
@@ -0,0 +1,106 @@
+<svg version="1.1" baseProfile="basic" 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="SVGWG" author="Chris lilley" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: styling-css-03-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml"; 
href="http://www.w3.org/TR/SVG11/styling.html#StylingWithCSS";>
+        <p>
+          Test ancestor, child and sibling selectors.
+        </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 is passed if all six shapes have a green fill.
+      </p>
+    </d:passCriteria>
+    <!--
+            In the upper test, the selector 'immediate child' selects all elements of class
+        'thischild' which are immediate children of the elements of class 'mummy'. The
+        rectangle and the polygon are of class'thischild' but the polygon is not an immediate
+        child so must not be selected. The rectangle must be green, the circle and polygon
+        must be green.
+        In the lower test, the 'adjacent sibling' selector matches elements of
+        class 'secundus' which are adjacent to a previous sibling of class 'primus';
+        this makes the rectangle in the second test green. The first-child pseudoclass matches
+        circles which are the first child of elements of class 'mummy' and if correctly
+        selected this circle will be filled green. (The circle in the upper test is not
+        the first child). 
+        -->
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: styling-css-03-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">
+
+    <defs>
+      <style type="text/css">
+        .mummy {fill: green }                                       /* least specific */
+        .mummy rect { fill: red}                      /* more specific, make rect red */
+        .mummy &gt; .thischild { fill: green }     /* even more specific,  rect green */
+        .child {fill: red}
+        .gap &gt; .thischild { fill: green}
+        .daddy {fill: red }
+        .daddy &gt; .tertius {fill: green}                       /* bottom poly green */
+        .primus + .secundus { fill: green }                      /* bottom rect green */
+        .daddy :first-child { fill: green}                     /* bottom circle green */
+      </style>
+    </defs>
+
+    <text style="font-family:SVGFreeSansASCII;font-size:12px;" x="40" y="36">
+      ancestor selectors and child selectors:
+    </text>
+
+    <g class="mummy">
+      <rect class="thischild" x="220" y="80" width="60" height="40"/>
+      <circle cx="160" cy="100" r="30"/>
+      <g class="child">
+         <g class="generation gap">
+            <polygon class="thischild" points="300,100, 320,120, 340,110, 360,120, 390,90, 340,70"/>
+         </g>
+      </g>
+    </g>
+
+    <g transform="translate(0, 150)">
+      <text style="font-family:SVGFreeSansASCII;font-size:12px;" x="40" y="36">
+        ancestor, immediate-sibling and first-child selectors:
+      </text>
+
+      <g class="daddy">
+        <circle class="primus" cx="160" cy="100" r="30"/>
+        <rect class="secundus" x="220" y="80" width="60" height="40"/>
+        <polygon class="tertius" points="300,100, 320,120, 340,110, 360,120, 390,90, 340,70"/>
+      </g>
+    </g>
+  </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="#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>
diff --git a/tests/fixtures/reftests/svg1.1/styling-css-04-f-ref.png 
b/tests/fixtures/reftests/svg1.1/styling-css-04-f-ref.png
new file mode 100644
index 00000000..4ca07ecb
Binary files /dev/null and b/tests/fixtures/reftests/svg1.1/styling-css-04-f-ref.png differ
diff --git a/tests/fixtures/reftests/svg1.1/styling-css-04-f.svg 
b/tests/fixtures/reftests/svg1.1/styling-css-04-f.svg
new file mode 100644
index 00000000..90025a2b
--- /dev/null
+++ b/tests/fixtures/reftests/svg1.1/styling-css-04-f.svg
@@ -0,0 +1,157 @@
+<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="CL" author="BB" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: styling-css-04-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml"; 
href="http://www.w3.org/TR/SVG11/styling.html#StylingWithCSS";>
+        <p>
+          This purpose of the file is to test some of the CSS2 selector syntax.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml";>
+      <p>
+        A UA supporting CSS selectors should render an image identical to the referenced image.
+      </p>
+
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml";>
+      <p>
+      The test is passed if a grid of 6x3 squares is shown, the colors in each column 
+      are the same and are those of the reference image (blue, green, orange, gold, purple and silver)
+      </p>
+      <p>
+        For a full analysis of this test, please see
+        <a href="http://www.w3.org/Graphics/SVG/Test/styling-css-04-f/blow-by-blow.html"; target="css">
+          this explanation.
+        </a>
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: styling-css-04-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">
+    <g fill="white">
+      <text x="240" y="35" font-size="20" text-anchor="middle">CSS selector test</text>
+      <defs>
+        <style type="text/css">
+          * {stroke:red; stroke-width:1;} /* 0 */
+          text {stroke:none; fill:black;} /* 1 */
+          rect {stroke:black; stroke-dasharray:none;} /* 1 */
+          #test-frame {fill:none} /* 100 */
+          g#alpha {fill:blue} /* 101 */
+          a#alpha {fill:red} /* 101 */
+          #alpha * rect {fill:green} /* 101 */
+          #alpha-2 > rect {fill:orange} /* 101 */
+          #beta rect {fill:gold} /* 101 */
+          g#gamma * g * * rect {fill:silver} /* 103 */
+          g#gamma * * rect {fill:purple} /* 102 */
+          [stroke-width="1.0001"] {fill:blue} /* 10 */
+          g#delta rect[stroke-width="1.0002"] {fill:green} /* 112 */
+          g#delta > rect[stroke-width="1.0003"] {fill:orange} /* 102 */
+          #delta + g > * {fill:gold} /* 101 */
+          g#delta + g > rect + rect {fill:purple} /* 104 */
+          #delta + g#epsilon * rect:first-child {fill:silver} /* 202 */
+          #zeta [cursor] {fill:blue} /* 110 */
+          g#zeta [cursor="help"] {fill:green} /* 111 */
+          g#zeta [rx~="3E"] {fill:orange} /* 111 */
+          g#epsilon + g [stroke-dasharray|="3.1415926"] {fill:gold} /* 112 */
+          g#epsilon + g > rect.hello {fill:purple} /* 113 */
+          g#eta rect:first-child {fill:silver} /* 102 */
+        </style>
+      </defs>
+      <g id="alpha">
+        <rect x="30" y="70" width="67.5" height="67.5" id="A1"/>
+        <g id="alpha-1">
+          <rect x="100" y="70" width="67.5" height="67.5" id="B1" />
+        </g>
+        <g id="alpha-2">
+          <rect x="170" y="70" width="67.5" height="67.5" id="C1"/>
+        </g>
+      </g>
+      <g id="beta">
+        <g>
+          <g>
+            <g>
+              <g>
+                <g>
+                  <rect x="240" y="70" width="67.5" height="67.5" id="D1"/>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g id="gamma">
+        <g>
+          <g>
+            <rect x="310" y="70" width="67.5" height="67.5" id="E1"/>
+            <g>
+              <g>
+                <rect x="380" y="70" width="67.5" height="67.5" id="F1"/>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g id="delta">
+        <rect x="30" y="140" width="67.5" height="67.5" stroke-width="1.0001" id="A2"/>
+        <rect x="100" y="140" width="67.5" height="67.5" stroke-width="1.0002" id="B2"/>
+        <rect x="170" y="140" width="67.5" height="67.5" stroke-width="1.0003" id="C2"/>
+      </g>
+      <g id="epsilon">
+        <rect x="240" y="140" width="67.5" height="67.5" id="D2"/>
+        <rect x="310" y="140" width="67.5" height="67.5" id="E2"/>
+        <g>
+          <rect x="380" y="140" width="67.5" height="67.5" id="F2"/>
+        </g>
+      </g>
+      <g id="zeta">
+        <rect x="30" y="210" width="67.5" height="67.5" cursor="default" id="A3"/>
+        <rect x="100" y="210" width="67.5" height="67.5" cursor="help" id="B3"/>
+        <rect x="170" y="210" width="67.5" height="67.5" stroke-dasharray="5, 3.14" id="C3" 
style="fill:orange"/>
+        <rect x="240" y="210" width="67.5" height="67.5" rx="3E-6" stroke-dasharray="3.1415926,8" id="D3" 
style="fill:gold"/>
+        <rect x="310" y="210" width="67.5" height="67.5" class="hello" id="E3"/>
+      </g>
+      <g id="eta">
+        <rect x="380" y="210" width="67.5" height="67.5" id="F3"/>
+      </g>
+      <g id="labels" font-size="16" font-family="Arial, Helvetica, sans-serif">
+        <text x="64" y="60" text-anchor="middle">A</text>
+        <text x="133" y="60" text-anchor="middle">B</text>
+        <text x="200" y="60" text-anchor="middle">C</text>
+        <text x="270" y="60" text-anchor="middle">D</text>
+        <text x="340" y="60" text-anchor="middle">E</text>
+        <text x="410" y="60" text-anchor="middle">F</text>
+        <text x="20" y="113" text-anchor="middle">1</text>
+        <text x="20" y="183" text-anchor="middle">2</text>
+        <text x="20" y="253" text-anchor="middle">3</text>
+      </g>
+    </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"/>
+  <!-- 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>
diff --git a/tests/fixtures/reftests/svg1.1/styling-css-07-f-ref.png 
b/tests/fixtures/reftests/svg1.1/styling-css-07-f-ref.png
new file mode 100644
index 00000000..7b48c0d5
Binary files /dev/null and b/tests/fixtures/reftests/svg1.1/styling-css-07-f-ref.png differ
diff --git a/tests/fixtures/reftests/svg1.1/styling-css-07-f.svg 
b/tests/fixtures/reftests/svg1.1/styling-css-07-f.svg
new file mode 100644
index 00000000..f036f6da
--- /dev/null
+++ b/tests/fixtures/reftests/svg1.1/styling-css-07-f.svg
@@ -0,0 +1,62 @@
+<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";>
+  <!--======================================================================-->
+  <!--=  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="CL" author="Microsoft" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: styling-css-07-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml"; 
href="http://www.w3.org/TR/SVG11/styling.html#StylingWithCSS";>
+      <p>
+        Tests that inline CSS styling (style attributes) is supported.
+      </p>
+      <p>
+        Specifies an inline 'visibility: hidden' style rule on a red element and verifies there is no red on 
the page.
+      </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>
+        Test passes if a green rectangle is visible, and there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: styling-css-07-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">
+
+    <rect x="10" y="10" height="100" width="200" fill="green" />
+    <rect x="10" y="10" height="100" width="200" style="visibility: hidden;" fill="red" />
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</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>
\ No newline at end of file
diff --git a/tests/fixtures/reftests/svg1.1/styling-css-08-f-ref.png 
b/tests/fixtures/reftests/svg1.1/styling-css-08-f-ref.png
new file mode 100644
index 00000000..a661da56
Binary files /dev/null and b/tests/fixtures/reftests/svg1.1/styling-css-08-f-ref.png differ
diff --git a/tests/fixtures/reftests/svg1.1/styling-css-08-f.svg 
b/tests/fixtures/reftests/svg1.1/styling-css-08-f.svg
new file mode 100644
index 00000000..8f18acda
--- /dev/null
+++ b/tests/fixtures/reftests/svg1.1/styling-css-08-f.svg
@@ -0,0 +1,116 @@
+<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";>
+  <!--======================================================================-->
+  <!--=  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="ED" author="Microsoft" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: styling-css-08-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml"; 
href="http://www.w3.org/TR/SVG11/styling.html#StylingWithCSS";>
+      <p>
+        Test that CSS styling via the 'style' element is supported.
+      </p>
+      <p>
+        For each of a representative sampling of selectors, specify a 'visibility: hidden' style rule and 
add a corresponding red
+        element to the markup. A reference in green is shown for each shape.
+      </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 is passed if there is no red visible on the page and there are seven green shapes visible.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: styling-css-08-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"><![CDATA[
+        path
+        {
+            visibility: hidden;
+        }
+        g svg circle
+        {
+            visibility: hidden;
+        }
+        g > ellipse
+        {
+            visibility: hidden;
+        }
+        ellipse + circle
+        {
+            visibility: hidden;
+        }
+        [id=testAttributeSelector]
+        {
+            visibility: hidden;
+        }
+        #testIdSelector
+        {
+            visibility: hidden;
+        }
+        #testPseudoClassSelector:first-child
+        {
+            visibility: hidden;
+        }
+        .reference { visibility: visible !important }
+        ]]>
+    </style>
+
+    <path class="reference" d="M 50 125 L 150 125 L 100 75 z" fill="lime" visibility="hidden"/>
+    <path id="testTypeSelector" d="M 50 125 L 150 125 L 100 75 z" fill="red" />
+    <g>
+        <svg width="200" height="200">
+            <circle class="reference" cx="50" cy="175" r="25" fill="lime" visibility="hidden"/>
+            <circle id="testDescendantSelector" cx="50" cy="175" r="25" fill="red" />
+        </svg>
+    </g>
+    <g id="testParentContainer">
+        <ellipse class="reference" cx="160" cy="200" rx="25" ry="45" fill="lime" visibility="hidden"/>
+        <circle class="reference" cx="100" cy="300" r="40" fill="lime" visibility="hidden"/>
+        <ellipse id="testChildSelector" cx="160" cy="200" rx="25" ry="45" fill="red" />
+        <circle id="testAdjacentSiblingSelector" cx="100" cy="300" r="40" fill="red" />
+    </g>
+    <circle class="reference" cx="300" cy="80" r="35" fill="lime" visibility="hidden"/>
+    <circle id="testAttributeSelector" cx="300" cy="80" r="35" fill="red" />
+    
+    <circle class="reference" cx="400" cy="140" r="50" fill="lime" visibility="hidden"/>
+    <circle id="testIdSelector" cx="400" cy="140" r="50" fill="red" />
+
+    <rect class="reference" x="270" y="240" width="150" height="80" fill="lime" visibility="hidden"/>
+    <g>
+        <rect id="testPseudoClassSelector" x="270" y="240" width="150" height="80" fill="red" />
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</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>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]