[librsvg] tests: Add the coords-trans-{01-08} tests from the SVG 1.1 test suite



commit d54c0ea585299ec3b8d85f0f7df7dffa4b98187f
Author: Federico Mena Quintero <federico gnome org>
Date:   Thu Mar 16 07:21:15 2017 -0600

    tests: Add the coords-trans-{01-08} tests from the SVG 1.1 test suite
    
    These are basic tests for affine transformations.

 .../reftests/svg1.1/coords-trans-01-b-ref.png      |  Bin 0 -> 11819 bytes
 .../fixtures/reftests/svg1.1/coords-trans-01-b.svg |  239 ++++++++++++++++++++
 .../reftests/svg1.1/coords-trans-02-t-ref.png      |  Bin 0 -> 8349 bytes
 .../fixtures/reftests/svg1.1/coords-trans-02-t.svg |  176 ++++++++++++++
 .../reftests/svg1.1/coords-trans-03-t-ref.png      |  Bin 0 -> 7902 bytes
 .../fixtures/reftests/svg1.1/coords-trans-03-t.svg |   99 ++++++++
 .../reftests/svg1.1/coords-trans-04-t-ref.png      |  Bin 0 -> 6655 bytes
 .../fixtures/reftests/svg1.1/coords-trans-04-t.svg |   88 +++++++
 .../reftests/svg1.1/coords-trans-05-t-ref.png      |  Bin 0 -> 8140 bytes
 .../fixtures/reftests/svg1.1/coords-trans-05-t.svg |   88 +++++++
 .../reftests/svg1.1/coords-trans-06-t-ref.png      |  Bin 0 -> 8526 bytes
 .../fixtures/reftests/svg1.1/coords-trans-06-t.svg |   82 +++++++
 .../reftests/svg1.1/coords-trans-07-t-ref.png      |  Bin 0 -> 11482 bytes
 .../fixtures/reftests/svg1.1/coords-trans-07-t.svg |   70 ++++++
 .../reftests/svg1.1/coords-trans-08-t-ref.png      |  Bin 0 -> 13265 bytes
 .../fixtures/reftests/svg1.1/coords-trans-08-t.svg |   76 ++++++
 16 files changed, 918 insertions(+), 0 deletions(-)
---
diff --git a/tests/fixtures/reftests/svg1.1/coords-trans-01-b-ref.png 
b/tests/fixtures/reftests/svg1.1/coords-trans-01-b-ref.png
new file mode 100644
index 0000000..09f6ffa
Binary files /dev/null and b/tests/fixtures/reftests/svg1.1/coords-trans-01-b-ref.png differ
diff --git a/tests/fixtures/reftests/svg1.1/coords-trans-01-b.svg 
b/tests/fixtures/reftests/svg1.1/coords-trans-01-b.svg
new file mode 100644
index 0000000..19431e0
--- /dev/null
+++ b/tests/fixtures/reftests/svg1.1/coords-trans-01-b.svg
@@ -0,0 +1,239 @@
+<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="Vincent Hardy" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: coords-trans-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml"; 
href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace";>
+      <p>
+        This test verifies the implementation of transforms. It tests elementary transforms
+        and transform nesting.
+        Note that for layout purposes, this test uses nesting of translation with the elementary  transforms.
+      </p>
+      <p>
+        The test uses the rect element, the fill color (solid primary colors) and transforms.
+      </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 rendered picture should match the reference image exactly except for variations in the labeling 
text.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-trans-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">
+    <g transform="translate(0, 30)" font-size="13">
+      <!-- ====================================================================== -->
+      <!-- First, draw a test grid ============================================== -->
+      <!-- ====================================================================== -->
+      <g id="test-grid" stroke="#cccccc" stroke-width="1">
+        <line x1="10" y1="10.5" x2="470" y2="10.5"/>
+        <line x1="10" y1="20.5" x2="470" y2="20.5"/>
+        <line x1="10" y1="30.5" x2="470" y2="30.5"/>
+        <line x1="10" y1="40.5" x2="470" y2="40.5"/>
+        <line x1="10" y1="50.5" x2="470" y2="50.5"/>
+        <line x1="10" y1="60.5" x2="470" y2="60.5"/>
+        <line x1="10" y1="70.5" x2="470" y2="70.5"/>
+        <line x1="10" y1="80.5" x2="470" y2="80.5"/>
+        <line x1="10" y1="90.5" x2="470" y2="90.5"/>
+        <line x1="10" y1="100.5" x2="470" y2="100.5"/>
+        <line x1="10" y1="110.5" x2="470" y2="110.5"/>
+        <line x1="10" y1="120.5" x2="470" y2="120.5"/>
+        <line x1="10" y1="130.5" x2="470" y2="130.5"/>
+        <line x1="10" y1="140.5" x2="470" y2="140.5"/>
+        <line x1="10" y1="150.5" x2="470" y2="150.5"/>
+        <line x1="10" y1="160.5" x2="470" y2="160.5"/>
+        <line x1="10" y1="170.5" x2="470" y2="170.5"/>
+        <line x1="10" y1="180.5" x2="470" y2="180.5"/>
+        <line x1="10" y1="190.5" x2="470" y2="190.5"/>
+        <line x1="10" y1="200.5" x2="470" y2="200.5"/>
+        <line x1="10" y1="210.5" x2="470" y2="210.5"/>
+        <line x1="10" y1="220.5" x2="470" y2="220.5"/>
+        <line x1="10" y1="230.5" x2="470" y2="230.5"/>
+        <line x1="10" y1="240.5" x2="470" y2="240.5"/>
+        <line x1="10" y1="250.5" x2="470" y2="250.5"/>
+        <line x1="10" y1="260.5" x2="470" y2="260.5"/>
+        <line y1="10" x1="10.5" y2="260.5" x2="10.5"/>
+        <line y1="10" x1="20.5" y2="260.5" x2="20.5"/>
+        <line y1="10" x1="30.5" y2="260.5" x2="30.5"/>
+        <line y1="10" x1="40.5" y2="260.5" x2="40.5"/>
+        <line y1="10" x1="50.5" y2="260.5" x2="50.5"/>
+        <line y1="10" x1="60.5" y2="260.5" x2="60.5"/>
+        <line y1="10" x1="70.5" y2="260.5" x2="70.5"/>
+        <line y1="10" x1="80.5" y2="260.5" x2="80.5"/>
+        <line y1="10" x1="90.5" y2="260.5" x2="90.5"/>
+        <line y1="10" x1="100.5" y2="260.5" x2="100.5"/>
+        <line y1="10" x1="110.5" y2="260.5" x2="110.5"/>
+        <line y1="10" x1="120.5" y2="260.5" x2="120.5"/>
+        <line y1="10" x1="130.5" y2="260.5" x2="130.5"/>
+        <line y1="10" x1="140.5" y2="260.5" x2="140.5"/>
+        <line y1="10" x1="150.5" y2="260.5" x2="150.5"/>
+        <line y1="10" x1="160.5" y2="260.5" x2="160.5"/>
+        <line y1="10" x1="170.5" y2="260.5" x2="170.5"/>
+        <line y1="10" x1="180.5" y2="260.5" x2="180.5"/>
+        <line y1="10" x1="190.5" y2="260.5" x2="190.5"/>
+        <line y1="10" x1="200.5" y2="260.5" x2="200.5"/>
+        <line y1="10" x1="210.5" y2="260.5" x2="210.5"/>
+        <line y1="10" x1="220.5" y2="260.5" x2="220.5"/>
+        <line y1="10" x1="230.5" y2="260.5" x2="230.5"/>
+        <line y1="10" x1="240.5" y2="260.5" x2="240.5"/>
+        <line y1="10" x1="250.5" y2="260.5" x2="250.5"/>
+        <line y1="10" x1="260.5" y2="260.5" x2="260.5"/>
+        <line y1="10" x1="270.5" y2="260.5" x2="270.5"/>
+        <line y1="10" x1="280.5" y2="260.5" x2="280.5"/>
+        <line y1="10" x1="290.5" y2="260.5" x2="290.5"/>
+        <line y1="10" x1="300.5" y2="260.5" x2="300.5"/>
+        <line y1="10" x1="310.5" y2="260.5" x2="310.5"/>
+        <line y1="10" x1="320.5" y2="260.5" x2="320.5"/>
+        <line y1="10" x1="330.5" y2="260.5" x2="330.5"/>
+        <line y1="10" x1="340.5" y2="260.5" x2="340.5"/>
+        <line y1="10" x1="350.5" y2="260.5" x2="350.5"/>
+        <line y1="10" x1="360.5" y2="260.5" x2="360.5"/>
+        <line y1="10" x1="370.5" y2="260.5" x2="370.5"/>
+        <line y1="10" x1="380.5" y2="260.5" x2="380.5"/>
+        <line y1="10" x1="390.5" y2="260.5" x2="390.5"/>
+        <line y1="10" x1="400.5" y2="260.5" x2="400.5"/>
+        <line y1="10" x1="410.5" y2="260.5" x2="410.5"/>
+        <line y1="10" x1="420.5" y2="260.5" x2="420.5"/>
+        <line y1="10" x1="430.5" y2="260.5" x2="430.5"/>
+        <line y1="10" x1="440.5" y2="260.5" x2="440.5"/>
+        <line y1="10" x1="450.5" y2="260.5" x2="450.5"/>
+        <line y1="10" x1="460.5" y2="260.5" x2="460.5"/>
+        <line y1="10" x1="470.5" y2="260.5" x2="470.5"/>
+      </g>
+      <!-- ====================================================================== -->
+      <!-- Now, test elementary transforms. For each transform, 3 markers are     -->
+      <!-- placed where the user space is expected after transformations for the  -->
+      <!-- origin (black) and the points in (20, 0) (blue) and (0, 20) (red).     -->
+      <!-- Then, a blue line going from (0, 0) to (20, 0) is drawn and a red line -->
+      <!-- going from (0, 0) to (0, 20), after applying the elementary            -->
+      <!-- transformation. If the test succeeds, the red line should join the     -->
+      <!-- black marker to the red marker and the blue line the black marker to   -->
+      <!-- the blue marker.                                                       -->
+      <!-- ====================================================================== -->
+      <g id="elementary-transforms-test" transform="translate(0, 10)">
+        <g id="elementary-transforms">
+          <!-- Translate -->
+          <g transform="translate(50, 50)">
+            <rect x="0" y="0" width="20" height="2" fill="blue"/>
+            <rect x="0" y="0" width="2" height="20" fill="red"/>
+          </g>
+          <!-- Rotate -90 deg about (150, 70) -->
+          <g transform="translate(150, 70) rotate(-90)">
+            <rect x="0" y="0" width="20" height="2" fill="blue"/>
+            <rect x="0" y="0" width="2" height="20" fill="red"/>
+          </g>
+          <!-- Skew X -->
+          <g transform="translate(250, 50) skewX(45)">
+            <rect x="0" y="0" width="20" height="2" fill="blue"/>
+            <rect x="0" y="0" width="2" height="20" fill="red"/>
+          </g>
+          <!-- Skew Y -->
+          <g transform="translate(350, 50) skewY(45)">
+            <rect x="0" y="0" width="20" height="2" fill="blue"/>
+            <rect x="0" y="0" width="2" height="20" fill="red"/>
+          </g>
+          <!-- Scale 2 -->
+          <g transform="translate(210, 120) scale(2)">
+            <rect x="0" y="0" width="20" height="1" fill="blue"/>
+            <rect x="0" y="0" width="1" height="20" fill="red"/>
+          </g>
+        </g>
+        <!-- elementary-transforms -->
+        <!-- Draw all the markers -->
+        <g id="elementary-transforms-test-markers">
+          <!-- Translate -->
+          <text x="40" y="40">translate (50, 50)</text>
+          <rect x="48" y="48" width="5" height="5" fill="black"/>
+          <rect x="68" y="48" width="5" height="5" fill="blue"/>
+          <rect x="48" y="68" width="5" height="5" fill="red"/>
+          <!-- Rotate -90 deg about (150, 70) -->
+          <text x="140" y="40">rotate(-90)</text>
+          <rect x="148" y="68" width="5" height="5" fill="black"/>
+          <rect x="148" y="48" width="5" height="5" fill="blue"/>
+          <rect x="168" y="68" width="5" height="5" fill="red"/>
+          <!-- Skew X -->
+          <text x="240" y="40">skew x (45)</text>
+          <rect x="248" y="48" width="5" height="5" fill="black"/>
+          <rect x="268" y="48" width="5" height="5" fill="blue"/>
+          <rect x="268" y="68" width="5" height="5" fill="red"/>
+          <!-- Skew Y -->
+          <text x="340" y="40">skew y (45)</text>
+          <rect x="348" y="48" width="5" height="5" fill="black"/>
+          <rect x="368" y="68" width="5" height="5" fill="blue"/>
+          <rect x="348" y="68" width="5" height="5" fill="red"/>
+          <!-- Scale 2 -->
+          <text x="200" y="110">scale (2)</text>
+          <rect x="208" y="118" width="5" height="5" fill="black"/>
+          <rect x="248" y="118" width="5" height="5" fill="blue"/>
+          <rect x="208" y="158" width="5" height="5" fill="red"/>
+        </g>
+        <!-- elementary-transforms-test-markers -->
+      </g>
+      <g id="nested-transforms-test">
+        <g id="nested-transforms">
+          <!-- scale/translate in transform attribute -->
+          <g transform="scale(3, 2) translate(16.666667, 105)">
+            <rect x="0" y="0" width="20" height="1" fill="blue"/>
+            <rect x="0" y="0" width="0.67" height="20" fill="red"/>
+          </g>
+          <!-- scale/translate in successive elements -->
+          <g transform="translate(200, 0)">
+            <g transform="scale(3, 2)">
+              <g transform="translate(16.666667, 105)">
+                <rect x="0" y="0" width="20" height="1" fill="blue"/>
+                <rect x="0" y="0" width="0.67" height="20" fill="red"/>
+              </g>
+            </g>
+          </g>
+        </g>
+        <!-- nested-transforms -->
+        <g id="nested-transforms-test-markers">
+          <!-- scale and translate -->
+          <text x="40" y="200">scale(25, 95) and translate(2, 2)</text>
+          <rect x="48" y="208" width="5" height="5" fill="black"/>
+          <rect x="108" y="208" width="5" height="5" fill="blue"/>
+          <rect x="48" y="248" width="5" height="5" fill="red"/>
+          <!-- scale then translate -->
+          <text x="240" y="200">scale(25, 95) then translate(2, 2)</text>
+          <rect x="248" y="208" width="5" height="5" fill="black"/>
+          <rect x="308" y="208" width="5" height="5" fill="blue"/>
+          <rect x="248" y="248" width="5" height="5" fill="red"/>
+        </g>
+        <!-- nested-transforms-test-markers -->
+      </g>
+      <!-- nested-transforms test -->
+    </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/coords-trans-02-t-ref.png 
b/tests/fixtures/reftests/svg1.1/coords-trans-02-t-ref.png
new file mode 100644
index 0000000..c4a9c91
Binary files /dev/null and b/tests/fixtures/reftests/svg1.1/coords-trans-02-t-ref.png differ
diff --git a/tests/fixtures/reftests/svg1.1/coords-trans-02-t.svg 
b/tests/fixtures/reftests/svg1.1/coords-trans-02-t.svg
new file mode 100644
index 0000000..ef3ab1a
--- /dev/null
+++ b/tests/fixtures/reftests/svg1.1/coords-trans-02-t.svg
@@ -0,0 +1,176 @@
+<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="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: coords-trans-02-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml"; 
href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace";>
+      <p>
+        This test verifies the implementation of transforms. It tests elementary transforms
+        and transform nesting.
+        Note that for layout purposes, this test uses nesting of translation with the elementary  transforms.
+      </p>
+      <p>
+        The test uses the rect element, the fill color (solid primary colors) and transforms.
+      </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 rendered picture should match the reference image exactly except for variations in the labeling 
text.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-trans-02-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 transform="translate(0, 30)" font-size="12">
+      <!-- ====================================================================== -->
+      <!-- First, draw a test grid ============================================== -->
+      <!-- ====================================================================== -->
+      <!--g id="test-grid" stroke="#cccccc" stroke-width="1" >
+         <line x1="10" y1="10.5" x2="470" y2="10.5"/>
+         <line x1="10" y1="20.5" x2="470" y2="20.5"/>
+         <line x1="10" y1="30.5" x2="470" y2="30.5"/>
+         <line x1="10" y1="40.5" x2="470" y2="40.5"/>
+         <line x1="10" y1="50.5" x2="470" y2="50.5"/>
+         <line x1="10" y1="60.5" x2="470" y2="60.5"/>
+         <line x1="10" y1="70.5" x2="470" y2="70.5"/>
+         <line x1="10" y1="80.5" x2="470" y2="80.5"/>
+         <line x1="10" y1="90.5" x2="470" y2="90.5"/>
+         <line x1="10" y1="100.5" x2="470" y2="100.5"/>
+         <line x1="10" y1="110.5" x2="470" y2="110.5"/>
+         <line x1="10" y1="120.5" x2="470" y2="120.5"/>
+         <line x1="10" y1="130.5" x2="470" y2="130.5"/>
+         <line x1="10" y1="140.5" x2="470" y2="140.5"/>
+         <line x1="10" y1="150.5" x2="470" y2="150.5"/>
+         <line x1="10" y1="160.5" x2="470" y2="160.5"/>
+         <line x1="10" y1="170.5" x2="470" y2="170.5"/>
+         <line x1="10" y1="180.5" x2="470" y2="180.5"/>
+         <line x1="10" y1="190.5" x2="470" y2="190.5"/>
+         <line x1="10" y1="200.5" x2="470" y2="200.5"/>
+         <line x1="10" y1="210.5" x2="470" y2="210.5"/>
+         <line x1="10" y1="220.5" x2="470" y2="220.5"/>
+         <line x1="10" y1="230.5" x2="470" y2="230.5"/>
+         <line x1="10" y1="240.5" x2="470" y2="240.5"/>
+         <line x1="10" y1="250.5" x2="470" y2="250.5"/>
+         <line x1="10" y1="260.5" x2="470" y2="260.5"/>
+         <line y1="10" x1="10.5" y2="260.5" x2="10.5"/>
+         <line y1="10" x1="20.5" y2="260.5" x2="20.5"/>
+         <line y1="10" x1="30.5" y2="260.5" x2="30.5"/>
+         <line y1="10" x1="40.5" y2="260.5" x2="40.5"/>
+         <line y1="10" x1="50.5" y2="260.5" x2="50.5"/>
+         <line y1="10" x1="60.5" y2="260.5" x2="60.5"/>
+         <line y1="10" x1="70.5" y2="260.5" x2="70.5"/>
+         <line y1="10" x1="80.5" y2="260.5" x2="80.5"/>
+         <line y1="10" x1="90.5" y2="260.5" x2="90.5"/>
+         <line y1="10" x1="100.5" y2="260.5" x2="100.5"/>
+         <line y1="10" x1="110.5" y2="260.5" x2="110.5"/>
+         <line y1="10" x1="120.5" y2="260.5" x2="120.5"/>
+         <line y1="10" x1="130.5" y2="260.5" x2="130.5"/>
+         <line y1="10" x1="140.5" y2="260.5" x2="140.5"/>
+         <line y1="10" x1="150.5" y2="260.5" x2="150.5"/>
+         <line y1="10" x1="160.5" y2="260.5" x2="160.5"/>
+         <line y1="10" x1="170.5" y2="260.5" x2="170.5"/>
+         <line y1="10" x1="180.5" y2="260.5" x2="180.5"/>
+         <line y1="10" x1="190.5" y2="260.5" x2="190.5"/>
+         <line y1="10" x1="200.5" y2="260.5" x2="200.5"/>
+         <line y1="10" x1="210.5" y2="260.5" x2="210.5"/>
+         <line y1="10" x1="220.5" y2="260.5" x2="220.5"/>
+         <line y1="10" x1="230.5" y2="260.5" x2="230.5"/>
+         <line y1="10" x1="240.5" y2="260.5" x2="240.5"/>
+         <line y1="10" x1="250.5" y2="260.5" x2="250.5"/>
+         <line y1="10" x1="260.5" y2="260.5" x2="260.5"/>
+         <line y1="10" x1="270.5" y2="260.5" x2="270.5"/>
+         <line y1="10" x1="280.5" y2="260.5" x2="280.5"/>
+         <line y1="10" x1="290.5" y2="260.5" x2="290.5"/>
+         <line y1="10" x1="300.5" y2="260.5" x2="300.5"/>
+         <line y1="10" x1="310.5" y2="260.5" x2="310.5"/>
+         <line y1="10" x1="320.5" y2="260.5" x2="320.5"/>
+         <line y1="10" x1="330.5" y2="260.5" x2="330.5"/>
+         <line y1="10" x1="340.5" y2="260.5" x2="340.5"/>
+         <line y1="10" x1="350.5" y2="260.5" x2="350.5"/>
+         <line y1="10" x1="360.5" y2="260.5" x2="360.5"/>
+         <line y1="10" x1="370.5" y2="260.5" x2="370.5"/>
+         <line y1="10" x1="380.5" y2="260.5" x2="380.5"/>
+         <line y1="10" x1="390.5" y2="260.5" x2="390.5"/>
+         <line y1="10" x1="400.5" y2="260.5" x2="400.5"/>
+         <line y1="10" x1="410.5" y2="260.5" x2="410.5"/>
+         <line y1="10" x1="420.5" y2="260.5" x2="420.5"/>
+         <line y1="10" x1="430.5" y2="260.5" x2="430.5"/>
+         <line y1="10" x1="440.5" y2="260.5" x2="440.5"/>
+         <line y1="10" x1="450.5" y2="260.5" x2="450.5"/>
+         <line y1="10" x1="460.5" y2="260.5" x2="460.5"/>
+         <line y1="10" x1="470.5" y2="260.5" x2="470.5"/>
+      </g-->
+      <!-- ====================================================================== -->
+      <!-- Now, test elementary transforms. For each transform, 3 markers are     -->
+      <!-- placed where the user space is expected after transformations for the  -->
+      <!-- origin (black) and the points in (20, 0) (blue) and (0, 20) (red).     -->
+      <!-- Then, a blue line going from (0, 0) to (20, 0) is drawn and a red line -->
+      <!-- going from (0, 0) to (0, 20), after applying the elementary            -->
+      <!-- transformation. If the test succeeds, the red line should join the     -->
+      <!-- black marker to the red marker and the blue line the black marker to   -->
+      <!-- the blue marker.                                                       -->
+      <!-- ====================================================================== -->
+      <g id="elementary-transforms-test" transform="translate(0, 10)">
+        <g id="elementary-transforms" transform="translate(-30, 0) scale(2.5, 2.5)">
+          <!-- Translate -->
+          <g transform="translate(50, 50)">
+            <rect x="0" y="0" width="20" height="2" fill="blue"/>
+            <rect x="0" y="0" width="2" height="20" fill="red"/>
+          </g>
+          <!-- Rotate -90 deg about (150, 70) -->
+          <g transform="translate(150, 70) rotate(-90)">
+            <rect x="0" y="0" width="20" height="2" fill="blue"/>
+            <rect x="0" y="0" width="2" height="20" fill="red"/>
+          </g>
+        </g>
+        <!-- elementary-transforms -->
+        <!-- Draw all the markers -->
+        <g id="elementary-transforms-test-markers" transform="translate(-30, 0) scale(2.5, 2.5)">
+          <!-- Translate -->
+          <text x="40" y="40">translate (50, 50)</text>
+          <rect x="48" y="48" width="5" height="5" fill="black"/>
+          <rect x="68" y="48" width="5" height="5" fill="blue"/>
+          <rect x="48" y="68" width="5" height="5" fill="red"/>
+          <!-- Rotate -90 deg about (150, 70) -->
+          <text x="140" y="40">rotate(-90)</text>
+          <rect x="148" y="68" width="5" height="5" fill="black"/>
+          <rect x="148" y="48" width="5" height="5" fill="blue"/>
+          <rect x="168" y="68" width="5" height="5" fill="red"/>
+        </g>
+        <!-- elementary-transforms-test-markers -->
+      </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/coords-trans-03-t-ref.png 
b/tests/fixtures/reftests/svg1.1/coords-trans-03-t-ref.png
new file mode 100644
index 0000000..67c71f2
Binary files /dev/null and b/tests/fixtures/reftests/svg1.1/coords-trans-03-t-ref.png differ
diff --git a/tests/fixtures/reftests/svg1.1/coords-trans-03-t.svg 
b/tests/fixtures/reftests/svg1.1/coords-trans-03-t.svg
new file mode 100644
index 0000000..b1c507c
--- /dev/null
+++ b/tests/fixtures/reftests/svg1.1/coords-trans-03-t.svg
@@ -0,0 +1,99 @@
+<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="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: coords-trans-03-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml"; 
href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace";>
+      <p>
+        This test verifies the implementation of transforms. It tests elementary transforms
+        and transform nesting.
+        Note that for layout purposes, this test uses nesting of translation with the elementary  transforms.
+      </p>
+      <p>
+        The test uses the rect element, the fill color (solid primary colors) and transforms.
+      </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 rendered picture should match the reference image exactly except for variations in the labeling 
text.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-trans-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 transform="translate(0, 30)" font-size="12">
+      <!-- ====================================================================== -->
+      <!-- Now, test elementary transforms. For each transform, 3 markers are     -->
+      <!-- placed where the user space is expected after transformations for the  -->
+      <!-- origin (black) and the points in (20, 0) (blue) and (0, 20) (red).     -->
+      <!-- Then, a blue line going from (0, 0) to (20, 0) is drawn and a red line -->
+      <!-- going from (0, 0) to (0, 20), after applying the elementary            -->
+      <!-- transformation. If the test succeeds, the red line should join the     -->
+      <!-- black marker to the red marker and the blue line the black marker to   -->
+      <!-- the blue marker.                                                       -->
+      <!-- ====================================================================== -->
+      <g id="elementary-transforms-test" transform="translate(0, 10)">
+        <g id="elementary-transforms" transform="translate(-560, 0) scale(2.5, 2.5)">
+          <!-- Skew X -->
+          <g transform="translate(250, 50) skewX(45)">
+            <rect x="0" y="0" width="20" height="2" fill="blue"/>
+            <rect x="0" y="0" width="2" height="20" fill="red"/>
+          </g>
+          <!-- Skew Y -->
+          <g transform="translate(350, 50) skewY(45)">
+            <rect x="0" y="0" width="20" height="2" fill="blue"/>
+            <rect x="0" y="0" width="2" height="20" fill="red"/>
+          </g>
+        </g>
+        <!-- elementary-transforms -->
+        <!-- Draw all the markers -->
+        <g id="elementary-transforms-test-markers" transform="translate(-560, 0) scale(2.5, 2.5)">
+          <!-- Skew X -->
+          <text x="240" y="40">skew x (45)</text>
+          <rect x="248" y="48" width="5" height="5" fill="black"/>
+          <rect x="268" y="48" width="5" height="5" fill="blue"/>
+          <rect x="268" y="68" width="5" height="5" fill="red"/>
+          <!-- Skew Y -->
+          <text x="340" y="40">skew y (45)</text>
+          <rect x="348" y="48" width="5" height="5" fill="black"/>
+          <rect x="368" y="68" width="5" height="5" fill="blue"/>
+          <rect x="348" y="68" width="5" height="5" fill="red"/>
+        </g>
+        <!-- elementary-transforms-test-markers -->
+      </g>
+      <!-- nested-transforms test -->
+    </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/coords-trans-04-t-ref.png 
b/tests/fixtures/reftests/svg1.1/coords-trans-04-t-ref.png
new file mode 100644
index 0000000..d7ff5ec
Binary files /dev/null and b/tests/fixtures/reftests/svg1.1/coords-trans-04-t-ref.png differ
diff --git a/tests/fixtures/reftests/svg1.1/coords-trans-04-t.svg 
b/tests/fixtures/reftests/svg1.1/coords-trans-04-t.svg
new file mode 100644
index 0000000..3ca3630
--- /dev/null
+++ b/tests/fixtures/reftests/svg1.1/coords-trans-04-t.svg
@@ -0,0 +1,88 @@
+<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="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: coords-trans-04-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml"; 
href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace";>
+      <p>
+        This test verifies the implementation of transforms. It tests elementary transforms
+        and transform nesting.
+        Note that for layout purposes, this test uses nesting of translation with the elementary transforms.
+      </p>
+      <p>
+        The test uses the rect element, the fill color (solid primary colors) and transforms.
+      </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 rendered picture should match the reference image exactly except for variations in the labeling 
text.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-trans-04-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 transform="translate(0, 30)" font-size="12">
+      <!-- ====================================================================== -->
+      <!-- Now, test elementary transforms. For each transform, 3 markers are     -->
+      <!-- placed where the user space is expected after transformations for the  -->
+      <!-- origin (black) and the points in (20, 0) (blue) and (0, 20) (red).     -->
+      <!-- Then, a blue line going from (0, 0) to (20, 0) is drawn and a red line -->
+      <!-- going from (0, 0) to (0, 20), after applying the elementary            -->
+      <!-- transformation. If the test succeeds, the red line should join the     -->
+      <!-- black marker to the red marker and the blue line the black marker to   -->
+      <!-- the blue marker.                                                       -->
+      <!-- ====================================================================== -->
+      <g id="elementary-transforms-test">
+        <g id="elementary-transforms" transform="translate(60, 45) scale(2.5, 2.5)">
+          <!-- Scale 2 -->
+          <g transform="translate(40, 10) scale(2)">
+            <rect x="0" y="0" width="20" height="1" fill="blue"/>
+            <rect x="0" y="0" width="1" height="20" fill="red"/>
+          </g>
+        </g>
+        <!-- elementary-transforms -->
+        <!-- Draw all the markers -->
+        <g id="elementary-transforms-test-markers" transform="translate(-364, -230) scale(2.5, 2.5)">
+          <!-- Scale 2 -->
+          <text x="200" y="110">scale (2)</text>
+          <rect x="208" y="118" width="5" height="5" fill="black"/>
+          <rect x="248" y="118" width="5" height="5" fill="blue"/>
+          <rect x="208" y="158" width="5" height="5" fill="red"/>
+        </g>
+        <!-- elementary-transforms-test-markers -->
+      </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/coords-trans-05-t-ref.png 
b/tests/fixtures/reftests/svg1.1/coords-trans-05-t-ref.png
new file mode 100644
index 0000000..431149d
Binary files /dev/null and b/tests/fixtures/reftests/svg1.1/coords-trans-05-t-ref.png differ
diff --git a/tests/fixtures/reftests/svg1.1/coords-trans-05-t.svg 
b/tests/fixtures/reftests/svg1.1/coords-trans-05-t.svg
new file mode 100644
index 0000000..d0d78bf
--- /dev/null
+++ b/tests/fixtures/reftests/svg1.1/coords-trans-05-t.svg
@@ -0,0 +1,88 @@
+<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="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: coords-trans-05-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml"; 
href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace";>
+      <p>
+        This test verifies the implementation of transforms. It tests elementary transforms
+        and transform nesting.
+        Note that for layout purposes, this test uses nesting of translation with the elementary  transforms.
+      </p>
+      <p>
+        The test uses the rect element, the fill color (solid primary colors) and transforms.
+      </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 rendered picture should match the reference image exactly except for variations in the labeling 
text.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-trans-05-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 transform="translate(0, 30)" font-size="12">
+      <!-- ====================================================================== -->
+      <!-- Now, test elementary transforms. For each transform, 3 markers are     -->
+      <!-- placed where the user space is expected after transformations for the  -->
+      <!-- origin (black) and the points in (20, 0) (blue) and (0, 20) (red).     -->
+      <!-- Then, a blue line going from (0, 0) to (20, 0) is drawn and a red line -->
+      <!-- going from (0, 0) to (0, 20), after applying the elementary            -->
+      <!-- transformation. If the test succeeds, the red line should join the     -->
+      <!-- black marker to the red marker and the blue line the black marker to   -->
+      <!-- the blue marker.                                                       -->
+      <!-- ====================================================================== -->
+      <g id="nested-transforms-test">
+        <g id="nested-transforms" transform="translate(-90, -450)">
+          <!-- scale/translate in transform attribute -->
+          <g transform="scale(7.5, 5) translate(16.666667, 105)">
+            <rect x="0" y="0" width="20" height="1" fill="blue"/>
+            <rect x="0" y="0" width="0.67" height="20" fill="red"/>
+          </g>
+        </g>
+        <!-- nested-transforms -->
+        <g id="nested-transforms-test-markers" transform="translate(-90, -450) scale(2.5, 2.5)">
+          <!-- scale and translate -->
+          <text x="40" y="200">scale(25, 95) - translate(2, 2)</text>
+          <rect x="48" y="208" width="5" height="5" fill="black"/>
+          <rect x="108" y="208" width="5" height="5" fill="blue"/>
+          <rect x="48" y="248" width="5" height="5" fill="red"/>
+        </g>
+        <!-- nested-transforms-test-markers -->
+      </g>
+      <!-- nested-transforms test -->
+    </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="#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/coords-trans-06-t-ref.png 
b/tests/fixtures/reftests/svg1.1/coords-trans-06-t-ref.png
new file mode 100644
index 0000000..4c4c94a
Binary files /dev/null and b/tests/fixtures/reftests/svg1.1/coords-trans-06-t-ref.png differ
diff --git a/tests/fixtures/reftests/svg1.1/coords-trans-06-t.svg 
b/tests/fixtures/reftests/svg1.1/coords-trans-06-t.svg
new file mode 100644
index 0000000..9b845b2
--- /dev/null
+++ b/tests/fixtures/reftests/svg1.1/coords-trans-06-t.svg
@@ -0,0 +1,82 @@
+<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="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: coords-trans-06-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml"; 
href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace";>
+      <p>
+        This test verifies the implementation of transforms. It tests elementary transforms
+        and transform nesting.
+        Note that for layout purposes, this test uses nesting of translation with the elementary  transforms.
+      </p>
+      <p>
+        The test uses the rect element, the fill color (solid primary colors) and transforms.
+      </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 rendered picture should match the reference image exactly except for variations in the labeling 
text.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-trans-06-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 transform="translate(0, 30)" font-size="12">
+      <g id="nested-transforms-test">
+        <g id="nested-transforms">
+          <!-- scale/translate in successive elements -->
+          <g transform="translate(-102, -450)">
+            <g transform="scale(7.5, 5)">
+              <g transform="translate(16.666667, 105)">
+                <rect x="0" y="0" width="20" height="1" fill="blue"/>
+                <rect x="0" y="0" width="0.67" height="20" fill="red"/>
+              </g>
+            </g>
+          </g>
+        </g>
+        <!-- nested-transforms -->
+        <g id="nested-transforms-test-markers" transform="translate(-600, -450) scale(2.5, 2.5)">
+          <!-- scale then translate -->
+          <text x="248" y="200">scale(25, 95) then translate(2, 2)</text>
+          <rect x="248" y="208" width="5" height="5" fill="black"/>
+          <rect x="308" y="208" width="5" height="5" fill="blue"/>
+          <rect x="248" y="248" width="5" height="5" fill="red"/>
+        </g>
+        <!-- nested-transforms-test-markers -->
+      </g>
+      <!-- nested-transforms test -->
+    </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/coords-trans-07-t-ref.png 
b/tests/fixtures/reftests/svg1.1/coords-trans-07-t-ref.png
new file mode 100644
index 0000000..cf63c7d
Binary files /dev/null and b/tests/fixtures/reftests/svg1.1/coords-trans-07-t-ref.png differ
diff --git a/tests/fixtures/reftests/svg1.1/coords-trans-07-t.svg 
b/tests/fixtures/reftests/svg1.1/coords-trans-07-t.svg
new file mode 100644
index 0000000..f9cb6c4
--- /dev/null
+++ b/tests/fixtures/reftests/svg1.1/coords-trans-07-t.svg
@@ -0,0 +1,70 @@
+<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="OA" author="CN" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: coords-trans-07-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml"; 
href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace";>
+      <p>
+        This test verifies the implementation of transforms. It tests elementary transforms
+        and transform nesting.
+        Note that for layout purposes, this test uses nesting of translation with the elementary  transforms.
+      </p>
+      <p>
+        The test uses the rect element, the fill color (solid primary colors) and transforms.
+      </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 rendered picture should match the reference image exactly except for variations in the labeling 
text - a long blue line at four o'clock and a short red line at seven o'clock below the text 
"translate+rotate", and, below and to the left of that, a long green line at four o'clock and a short red 
line at seven o'clock below the text "rotate+translate".
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-trans-07-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="elementary-transforms-test">
+      <g id="object_1" transform="rotate(30) translate(200, 100)">
+        <rect x="0" y="0" width="150" height="5" fill="green"/>
+        <rect x="0" y="0" width="5" height="50" fill="red"/>
+      </g>
+      <text x="65" y="185" font-size="20">rotate+translate</text>
+
+      <g id="object_2" transform="translate(200,100) rotate(30)">
+        <rect x="0" y="0" width="150" height="5" fill="blue"/>
+        <rect x="0" y="0" width="5" height="50" fill="red"/>
+      </g>
+      <text x="150" y="100" font-size="20">translate+rotate</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.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/coords-trans-08-t-ref.png 
b/tests/fixtures/reftests/svg1.1/coords-trans-08-t-ref.png
new file mode 100644
index 0000000..ef003bb
Binary files /dev/null and b/tests/fixtures/reftests/svg1.1/coords-trans-08-t-ref.png differ
diff --git a/tests/fixtures/reftests/svg1.1/coords-trans-08-t.svg 
b/tests/fixtures/reftests/svg1.1/coords-trans-08-t.svg
new file mode 100644
index 0000000..d1cbf59
--- /dev/null
+++ b/tests/fixtures/reftests/svg1.1/coords-trans-08-t.svg
@@ -0,0 +1,76 @@
+<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="OA" author="CN" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: coords-trans-08-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml"; 
href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace";>
+      <p>
+        This test verifies the implementation of transforms. It tests elementary transforms
+        and transform nesting.
+        Note that for layout purposes, this test uses nesting of translation with the elementary  transforms.
+      </p>
+      <p>
+        This test will check if the transfomations performed are carried out in the proper order. The result 
should differ depending on which transformation comes first.
+      </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 rendered picture should match the reference image exactly except for variations in the labeling 
text.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-trans-08-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="elementary-transforms-test">
+      <g id="object_1" transform="skewX(45) skewY(45)">
+        <rect x="0" y="0" width="150" height="5" fill="blue"/>
+        <rect x="0" y="0" width="5" height="50" fill="red"/>
+        <rect x="150" y="0" width="5" height="50" fill="black"/>
+        <rect x="0" y="50" width="150" height="5" fill="black"/>
+        <ellipse rx="40" ry="15" cx="75" cy="25" fill="purple"/>
+      </g>
+      <text x="30" y="16" font-size="12">skewX(45)+skewY(45)</text>
+
+      <g id="object_2" transform="translate(200,0) skewY(45) skewX(45)">
+        <rect x="0" y="0" width="150" height="5" fill="blue"/>
+        <rect x="0" y="0" width="5" height="50" fill="red"/>
+        <rect x="150" y="0" width="5" height="50" fill="black"/>
+        <rect x="0" y="50" width="150" height="5" fill="black"/>
+        <ellipse rx="40" ry="15" cx="75" cy="25" fill="purple"/>
+      </g>
+      <text x="230" y="16" font-size="12">skewY(45)+skewX(45)</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.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>


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